null  null
Contents at a Glance
Introduction
1
1 Development of the PC
5
2 PC Components, Features, and System Design
3 Processor Types and Specifications
4 Motherboards and Buses
5 BIOS
UPGRADING
AND
REPAIRING PCS,
20th Edition
31
143
251
6 Memory
315
7 The ATA/IDE Interface
367
8 Magnetic Storage Principles
9 Hard Disk Storage
421
445
10 Flash and Removable Storage
11 Optical Storage
12 Video Hardware
603
13 Audio Hardware
667
14 External I/O Interfaces
15 Input Devices
691
729
16 Internet Connectivity
17 Local Area Networking
18 Power Supplies
493
517
765
789
833
19 Building or Upgrading Systems
917
20 PC Diagnostics, Testing, and Maintenance
Index
Scott Mueller
800 East 96th Street
Indianapolis, Indiana 46240
1019
959
19
Upgrading and Repairing PCs, 20th Edition
Editor-in-Chief
Greg Wiegand
Copyright © 2012 by Pearson Education, Inc.
All rights reserved. No part of this book shall be reproduced, stored in a retrieval
system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission from the publisher. No patent liability
is assumed with respect to the use of the information contained herein. Although
every precaution has been taken in the preparation of this book, the publisher and
author assume no responsibility for errors or omissions. Nor is any liability assumed
for damages resulting from the use of the information contained herein.
Executive Editor
Rick Kughen
Development Editor
Todd Brakke
Technical Editor
Mark Reddin
ISBN-13: 978-0-7897-4710-5
ISBN-10: 0-7897-4710-3
Library of Congress Cataloging-in-Publication Data:
Mueller, Scott.
Upgrading and repairing pcs / Scott Mueller.
Managing Editor
Kristy Hart
Project Editor
Jovana San Nicolas-Shirley
p. cm.
ISBN 978-0-7897-4710-5
1. Microcomputers--Maintenance and repair. 2.
Microcomputers--Equipment and supplies. 3. Microcomputers--Upgrading.
I. Title. II. Title: Upgrading and repairing personal computers.
TK7887.M84 2012
Copy Editor
Karen Gill
Indexer
Erika Millen
Proofreader
004.16--dc23
2011020605
Printed in the United States of America
Second Printing: February 2012
Mike Henry
Publishing Coordinator
Cindy Teeters
Trademarks
Media Producer
All terms mentioned in this book that are known to be trademarks or service marks
have been appropriately capitalized. Que Publishing cannot attest to the accuracy of
this information. Use of a term in this book should not be regarded as affecting the
validity of any trademark or service mark.
Cover Designer
Warning and Disclaimer
Compositors
Every effort has been made to make this book as complete and as accurate as possible,
but no warranty or fitness is implied. The information provided is on an “as is” basis.
The author and the publisher shall have neither liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book or from the use of the DVD or programs accompanying it.
Bulk Sales
Que Publishing offers excellent discounts on this book when ordered in quantity for
bulk purchases or special sales. For more information, please contact
U.S. Corporate and Government Sales
1-800-382-3419
[email protected]
For sales outside of the U.S., please contact
International Sales
[email protected]
Dan Scherf
Anne Jones
Nonie Ratcliff
TnT Design, Inc.
Contents
Introduction
1
Book Objectives 1
The 20th Edition DVD-ROM 2
My Website: informit.com/upgrading
A Personal Note 2
1 Development of the PC
2
5
Computer History: Before Personal
Computers 5
Timeline 5
Electronic Computers 10
Modern Computers 11
From Tubes to Transistors 11
Integrated Circuits 13
History of the PC 13
Birth of the Personal Computer 13
The IBM Personal Computer 15
The PC Industry 30 Years Later 16
2 PC Components, Features, and
System Design 19
What Is a PC? 19
Who Controls PC Software? 20
Who Controls PC Hardware? 23
White-Box Systems 25
PC Design Guides 26
System Types 27
System Components 28
3 Processor Types and
Specifications 31
Microprocessor History 31
The First Microprocessor 31
PC Processor Evolution 34
16-Bit to 64-Bit Architecture Evolution
36
Processor Specifications 37
Data I/O Bus 42
Address Bus 43
Internal Registers (Internal Data Bus) 44
Processor Modes 45
Processor Benchmarks 49
Comparing Processor Performance 49
Cache Memory 54
Processor Features 60
System Management Mode (SMM) 60
Superscalar Execution 61
MMX Technology 62
Dynamic Execution 64
Dual Independent Bus Architecture 65
HT Technology 66
Multicore Technology 67
Processor Manufacturing 68
Processor Re-Marking 72
PGA Chip Packaging 72
Single Edge Contact and Single Edge
Processor Packaging 73
Processor Socket and Slot Types 74
Socket 478 76
Socket LGA775 77
Socket LGA1156 78
Socket LGA1366 79
Socket LGA1155 80
Socket 939 and 940 80
Socket AM2/AM2+/AM3/AM3+ 81
Socket F (1207FX) 83
CPU Operating Voltages 83
Math Coprocessors (Floating-Point Units) 83
Processor Bugs and Steppings 84
Processor Code Names 85
P1 (086) Processors 85
P2 (286) Processors 86
P3 (386) Processors 87
P4 (486) Processors 88
P5 (586) Processors 90
AMD-K5 92
Intel P6 (686) Processors 92
Pentium Pro Processors 93
Pentium II Processors 93
Pentium III 95
Celeron 97
Intel Pentium 4 Processors 97
Pentium 4 Extreme Edition 100
Intel Pentium D and Pentium Extreme
Edition 102
Intel Core Processors 104
Intel Core 2 Family 104
Intel (Nehalem) Core i Processors 106
AMD K6 Processors 110
NexGen Nx586 110
AMD-K6 Series 110
AMD K7 Processors 111
AMD Athlon 111
AMD Duron 113
AMD Athlon XP 113
Athlon MP 114
AMD K8 Processors 115
AMD Athlon 64 and 64 FX 115
AMD Sempron 118
AMD Athlon X2, 64 X2, and 64 FX 119
iv
Contents
AMD K10 Processors (Phenom, Phenom II,
Athlon II, Athlon X2, Sempron) 120
AMD Fusion Processors 122
Processor Upgrades 122
Overclocking 124
Quartz Crystals 124
Modern PC Clocks 126
Overclocking Tips 128
Unlocking Cores 129
Bus Speeds and Multipliers 130
Processor Cooling 132
Heatsinks 133
Liquid Cooling 138
Thermally Advantaged Chassis 138
Processor Troubleshooting Techniques 141
4 Motherboards and Buses
143
Motherboard Form Factors 143
Obsolete Form Factors 144
ATX and Other Modern Form Factors 155
Processor Sockets/Slots 167
Chipsets 169
Chipset Evolution 169
Intel Chipsets 171
Intel Chipset Model Numbers 172
Intel Integrated Graphics
Architecture 173
AMD Integrated Graphics
Architecture 173
Traditional North/South Bridge
Architecture 174
Hub Architecture 175
Third-Party North-South Bridge
Connections 177
HyperTransport 178
Intel’s Early 386/486 Chipsets 178
Fifth-Generation (P5 Pentium Class)
Chipsets 179
Sixth-Generation (P6 Pentium Pro/II/III Class)
Chipsets 181
Seventh/Eighth-Generation (Pentium 4/D,
Core 2, and Core i) Chipsets 185
Intel 915 Family 192
Intel 925X Family 193
Intel 945 Express Family 193
Intel 955X and 975X Family 194
Intel 96x Series 194
Intel 3x and 4x Series Chipsets 195
Intel 5x Series Chipsets 198
Intel 6x Series Chipsets 201
Third-Party Chipsets for Intel Processors 203
SiS Chipsets 203
ULi Electronics Chipsets 203
ATI Chipsets 203
VIA Chipsets 204
NVIDIA Chipsets for Intel Processors 204
Chipsets for AMD Processors 204
AMD Athlon Chipsets 205
AMD Athlon 64 Chipsets 206
AMD 8000 (8151) Chipset 206
AMD (Formerly ATI) Chipsets for Athlon
64, Sempron, Phenom 207
Third-Party Chipsets for AMD
Processors 213
VIA Chipsets 213
SiS Chipsets 213
NVIDIA Chipsets 213
Super I/O Chips 214
Motherboard Connectors 214
System Bus Types, Functions, and
Features 223
The Processor Bus (FSB) 229
Types of I/O Buses 229
The ISA Bus 230
The Micro Channel Bus 230
The EISA Bus 230
Local Buses (VESA, PCI, PCI Express,
AGP) 231
System Resources 238
Interrupts 238
DMA Channels 243
I/O Port Addresses 243
Resolving Resource Conflicts 246
PnP 247
Motherboard Selection Criteria (Knowing
What to Look For) 249
Chipset Documentation 250
5 BIOS
251
BIOS Basics 251
Motherboard ROM BIOS 255
ROM Hardware 256
ROM Shadowing 257
ROM Chip Types 258
ROM BIOS Manufacturers 262
BIOS Hardware/Software 264
Upgrading the BIOS 265
Where to Get Your BIOS Update 266
Determining Your BIOS Version 266
Checking the BIOS Date 266
Backing Up Your BIOS 267
Backing Up Your BIOS Setup (CMOS RAM)
Settings 267
Upgrading a Flash BIOS 268
Motherboard CMOS RAM Addresses 276
Year 2000 BIOS Issues 278
This is the Current C–Head at the BOTTOM of the Page
Preboot Environment 278
Unified Extensible Firmware Interface
(UEFI) 280
UEFI and BIOS Limitations 280
UEFI Support 282
CMOS Setup 282
Running or Accessing the CMOS Setup
Program 282
BIOS Setup Menus 283
Maintenance Menu 283
Main Menu 285
Advanced Menus 286
Security Menu 300
Power Menu 301
Boot Menu (Boot Sequence, Order) 303
Exit Menu 305
Additional BIOS Setup Features 305
PnP BIOS 306
PnP Device IDs 307
ACPI 307
BIOS/MBR Error Messages 308
BIOS Boot Error Messages 309
MBR Boot Error Messages 312
6 Memory
315
Memory Basics 315
ROM 317
DRAM 317
Cache Memory: SRAM 319
Memory Standards 321
Speed and Performance 322
Fast Page Mode DRAM 324
Extended Data Out RAM 325
SDRAM 326
DDR SDRAM 328
DDR2 SDRAM 330
DDR3 SDRAM 332
RDRAM 333
Memory Modules 333
Registered Modules 338
SIMM Details 340
SDR DIMM Details 340
DDR DIMM Details 340
DDR2 DIMM Details 341
DDR3 DIMM Details 341
Determining a Memory Module’s Size and
Features 341
Memory Banks 343
Memory Module Speed 344
Parity and ECC 345
Parity Checking 347
How Parity Checking Works 347
ECC 350
v
Contents
RAM Upgrades 350
Upgrade Options and Strategies 351
Purchasing Memory 353
Replacing Modules with Higher-Capacity
Versions 355
Installing Memory Modules 355
Troubleshooting Memory 358
Memory Defect Isolation Procedures 361
The System Logical Memory Layout 363
7 The ATA/IDE Interface
367
An Overview of the IDE Interface 367
Precursors to IDE 367
IDE Origins 368
Origins of ATA 369
ATA Standards 370
ATA-1 (ATA Interface for Disk
Drives) 372
ATA-2 (ATA Interface with
Extensions-2) 372
ATA-3 (ATA Interface-3) 373
ATA/ATAPI-4 (ATA with Packet
Interface Extension-4) 373
ATA/ATAPI-5 (ATA with Packet
Interface-5) 374
ATA/ATAPI-6 (ATA with Packet
Interface-6) 375
ATA/ATAPI-7 (ATA with Packet
Interface-7) 376
ATA/ATAPI-8 376
PATA 377
PATA I/O Connector 377
PATA I/O Cable 380
Longer or Rounded Cables 382
PATA Signals 382
PATA Dual-Drive Configurations 383
PATA PIO Transfer Modes 385
PATA DMA Transfer Modes 386
SATA 387
SATA Cables and Connectors 389
SATA Configuration 391
Advanced Host Controller Interface
(AHCI) 392
SATA Transfer Modes 393
ATA Features 394
ATA Commands 394
ATA Security Mode 395
Host Protected Area 396
ATAPI 397
ATA Drive Capacity Limitations 397
Prefixes for Decimal and Binary
Multiples 398
BIOS Limitations 399
CHS Versus LBA 400
vi
Contents
This is the Chapter Title
CHS/LBA and LBA/CHS Conversions 401
BIOS Commands Versus ATA
Commands 402
CHS Limitations (the 528MB Barrier) 403
CHS Translation (Breaking the 528MB
Barrier) 404
The 2.1GB and 4.2GB Barriers 406
LBA-Assist Translation 408
The 8.4GB Barrier 411
The 137GB Barrier and Beyond 412
Operating System and Other Software
Limitations 413
GPT and the 2.2TB Barrier 415
PATA/SATA RAID 417
8 Magnetic Storage Principles
421
Magnetic Storage 421
History of Magnetic Storage 421
How Magnetic Fields Are Used to Store
Data 422
Read/Write Head Designs 425
Ferrite 426
Metal-In-Gap 426
Thin-Film 427
Magneto-Resistive Heads 427
Giant Magneto-Resistive Heads 429
Head Sliders 430
Data-Encoding Schemes 432
Frequency Modulation Encoding 434
Modified FM Encoding 434
Run Length Limited Encoding 434
Encoding Scheme Comparisons 436
Partial-Response, Maximum-Likelihood
Decoders 437
Capacity Measurements 437
Areal Density 438
PMR 441
9 Hard Disk Storage
445
Definition of a Hard Disk 445
Hard Drive Advancements 446
Form Factors 447
5 1/4-Inch Drive 448
3 1/2-Inch Drive 449
2 1/2-Inch Drive 449
1.8-inch Drive 449
1-Inch Drives 450
HDD Operation 450
The Ultimate HDD Analogy 452
Tracks and Sectors 453
ECC 456
Disk Formatting 461
Basic HDD Components 465
Hard Disk Platters (Disks) 466
Recording Media 467
Read/Write Heads 469
Head Actuator Mechanisms 470
Air Filters 477
Hard Disk Temperature Acclimation
Spindle Motors 479
Logic Boards 480
Cables and Connectors 481
Configuration Items 481
Hard Disk Features 482
Capacity 482
Performance 484
Reliability 488
10 Flash and Removable Storage
479
493
Alternative Storage Devices 493
Flash Memory Devices 493
CompactFlash 495
SmartMedia 496
MultiMediaCard 496
SecureDigital 496
Sony Memory Stick 496
ATA Flash PC Card 497
xD-Picture Card 497
SSD (Solid-State Drive) 498
Virtual SSD (RAMdisk) 498
Flash-Based SSDs 498
USB Flash Drives 501
Comparing Flash Memory Devices 502
Flash Card Readers 504
Card Readers 504
Type II PC Card Adapters 505
High-Capacity Removable Magnetic Storage
Devices 505
Floppy Disk Drives 506
1.44MB 3 1/2-Inch Drives 507
Floppy Drive Interfaces 507
Drive Components 508
Read/Write Heads 508
The Floppy Controller 509
Power and Data Connectors 510
The Floppy Disk Controller Cable 510
How the OS Uses a Floppy Disk 512
Disk Change 513
Floppy Disk Media Types and
Specifications 514
Density 514
Media Coercivity and Thickness 514
Floppy Disk Media 515
Tape Drives 516
This is the Current C–Head at the BOTTOM of the Page
11 Optical Storage
517
Optical Technology 517
CD-Based Optical Technology 518
CDs: A Brief History 518
CD Construction and Technology 519
Mass-Producing CDs 519
Writable CDs 531
MultiRead Specifications 538
DVD 539
DVD History 540
DVD Construction and Technology 541
DVD Tracks and Sectors 542
Handling DVD Errors 546
DVD Capacity (Sides and Layers) 547
Data Encoding on the DVD Disc 550
Recordable DVD Standards 551
Multiformat Rewritable DVD Drives 558
BD 559
HD-DVD 561
Optical Disc Formats 562
CD Formats 562
DVD Formats and Standards 570
Optical Disc File Systems 573
Ripping/Copying Discs 579
“For Music Use Only” CD-R/RW
Discs 580
CD Copy Protection 580
CD Digital Rights Management 581
DVD Copy Protection 581
Optical Drive Performance Specifications 584
CD Data Transfer Rate 585
CD Drive Speed 585
DVD Drive Speed 588
Access Time 590
Buffer/Cache 590
Direct Memory Access and Ultra-DMA 590
Interface 590
Loading Mechanism 591
Other Drive Features 592
How to Reliably Record Optical Discs 592
Booting from a Floppy Disk with Optical
Drive Support 593
Bootable Optical Discs—El Torito 594
LightScribe and LabelFlash 594
Troubleshooting Optical Drives 595
Caring for Optical Media 598
Updating the Firmware in an Optical
Drive 599
Contents
12 Video Hardware
603
Display Adapters and Monitors 603
Video Display Adapters 604
Video Adapter Types 604
Integrated Video/Motherboard
Chipsets 605
CPUs with Integrated Video 609
Video Adapter Components 609
Identifying the Video and System
Chipsets 611
Video RAM 612
The DAC 615
Video Display Interfaces 616
The System Interface 616
The Display Interface 618
TV Display Interfaces 632
3D Graphics Accelerators 633
How 3D Accelerators Work 633
APIs 636
Dual-GPU Scene Rendering 637
Monitors 639
Display Specifications 639
LCD Technology 650
LED Backlit Technology 652
CRT Display Technology 652
Plasma Display Technology 654
LCD and DLP Projectors 654
Using Multiple Monitors 656
Dualview 656
Homogeneous Adapters 657
Heterogeneous Adapters 657
Video Troubleshooting and Maintenance
Troubleshooting Video Cards and
Drivers 658
Video Drivers 660
Maintaining Monitors 660
Testing Monitors 661
Adjusting Monitors 662
Bad Pixels 663
Troubleshooting Monitors 664
Repairing Monitors 665
13 Audio Hardware
vii
657
667
Audio Hardware Concepts and Terms 668
The Nature of Sound 668
Evaluating the Quality of Your Audio
Hardware 668
Sampling 669
Early PC Sound Cards 670
Limitations of Sound Blaster Pro
Compatibility 670
viii
Contents
This is the Chapter Title
Microsoft Windows and Audio
Support 670
DirectX and Audio Support
Hardware 671
Core Audio APIs for Windows Vista and
Windows 7 671
3D Gaming Audio Standards 672
Legacy Audio Support Through
Virtualization 673
Audio Hardware Features 674
Basic Connectors 674
Advanced Audio Features 676
Volume Control 678
MIDI Support Features 678
Data Compression 679
Sound Drivers 680
Sound Cards for Sound Producers 680
Motherboard Chipsets with Integrated
Audio 681
AC’97 Integrated Audio 682
Intel “Azalia” HD Audio 682
Troubleshooting PC Audio Problems 682
Sound Card and Onboard Audio
Problems 682
Speakers 685
Speaker Selection Criteria 686
Theater and Surround Sound
Considerations 687
Microphones 688
14 External I/O Interfaces
691
Introduction to Input/Output Ports 691
Serial Versus Parallel 691
Universal Serial Bus (USB) 692
IEEE 1394 (FireWire or i.LINK) 707
Comparing USB and IEEE 1394
(FireWire) 711
Hot-Plugging (and Unplugging) 714
Thunderbolt Technology 717
Low-Speed External Connections 719
Serial Ports 719
Parallel Ports 723
15 Input Devices
729
Keyboards 729
Enhanced 101-Key Keyboard 729
104-Key (Windows) Keyboard 731
Keyboard Technology 732
Keyswitch Design 732
The Keyboard Interface 737
Typematic Functions 739
Keyboard Key Numbers and Scan
Codes 740
International Keyboard Layouts 741
Keyboard/Mouse Interface
Connectors 742
USB Keyboards 743
Keyboards with Special Features 744
Keyboard Troubleshooting and Repair 745
Keyboard Disassembly 746
Cleaning a Keyboard 746
Keyboard Recommendations 747
Pointing Devices 748
Ball-Type Mice 749
Optical Mice 749
Pointing Device Interface Types 751
Mouse Troubleshooting 754
Scroll Wheels 755
TrackPoint II/III/IV 755
Alternative Pointing Devices 758
Wireless Input Devices 761
Power Management Features of Wireless
Input Devices 762
Troubleshooting Wireless Input
Devices 763
16 Internet Connectivity
765
Internet Connectivity Trends 765
Broadband Internet Access Types 765
Cable TV 766
Digital Subscriber Line 769
Wireless Broadband 773
Cellular Broadband 3G and 4G Services
773
Satellite Broadband 774
ISDN 777
Leased Lines 778
Comparing High-Speed Internet Access
779
Dial-Up Modems 780
56Kbps Modems 781
Internet Connection Security 784
Having a Backup Plan in Case of Service
Interruptions 786
Sharing Your Internet Connection 786
Routers for Internet Sharing 787
Modem/Router Status LEDs 788
17 Local Area Networking
789
Defining a Network 789
Types of Networks 790
Requirements for a Network 790
Client/Server Versus Peer Networks 791
Client/Server Networks 791
Peer-to-Peer Networks 792
Comparing Client/Server and Peer-to-Peer
Networks 793
This is the Current C–Head at the BOTTOM of the Page
Network Architecture Overview 794
Wired Ethernet 795
Wireless Ethernet 797
Bluetooth 802
Hardware Elements of Your Network 802
NICs for Wired Ethernet Networks 802
Network Cables for Wired Ethernet 804
Wired Network Topologies 813
Switches for Ethernet Networks 816
Wireless Ethernet Hardware 819
Network Protocols 825
IP and TCP/IP 825
IPX 826
NetBEUI 826
Other Home Networking Solutions 827
HomePNA 827
Power Line Networking 828
Putting Your Network Together 829
Network Adapters 829
Cables and Connections Between
Computers 830
Switch/Access Point 831
18 Power Supplies
833
The Power Supply 833
Primary Function and Operation 833
Voltage Rails 834
The Power Good Signal 836
Power Supply Form Factors 837
Modern Form Factors 840
Power Switches 854
ATX and Newer 854
PC/XT/AT and LPX Power Switches 855
Motherboard Power Connectors 857
AT/LPX Power Supply Connectors 857
ATX and ATX12V Motherboard Power
Connectors 859
Backward and Forward Compatibility 871
Dell Proprietary (Nonstandard) ATX
Design 873
Additional Power Connectors 875
Peripheral Power Connectors 875
Floppy Power Connectors 876
Serial ATA Power Connectors 877
PCI Express Auxiliary Graphics Power
Connectors 878
Power Supply Specifications 881
Power Supply Loading 881
Power Supply Ratings 883
Other Power Supply Specifications 884
Power Factor Correction 886
SLI-Ready and CrossfireX
Certifications 888
Safety Certifications 888
Contents
ix
Power-Use Calculations 889
Power Savings 891
80 Plus 891
ENERGY STAR 892
Advanced Power Management 892
Advanced Configuration and Power
Interface 893
Power Cycling 896
Power Supply Troubleshooting 899
Overloaded Power Supplies 900
Inadequate Cooling 901
Using Digital Multimeters 901
Specialized Test Equipment 904
Power Supply Recommendations 906
Modular Cables 907
Sources for Replacement Power
Supplies 907
Power-Protection Systems 908
Surge Suppressors (Protectors) 909
Network and Phone Line Surge
Protectors 910
Line Conditioners 910
Backup Power 910
Real-Time Clock/Nonvolatile RAM (CMOS
RAM) Batteries 913
Modern CMOS Batteries 914
Obsolete or Unique CMOS Batteries 915
CMOS Battery Troubleshooting 916
19 Building or Upgrading
Systems 917
System Components 917
Case and Power Supply 919
Processor 920
Motherboard 921
Memory 923
Hard Disk/Solid-State Drives 925
Removable Storage 925
Input Devices 925
Video Card and Display 926
Audio Hardware 926
Accessories 927
Hardware and Software Resources 928
System Assembly and Disassembly 928
Assembly Preparation 929
Installing the CPU and Heatsink 932
Installing Memory Modules 937
Mounting the New Motherboard in the
Case 938
Preparing a Modular Power Supply 942
Connecting the Power Supply 944
Connecting I/O and Other Cables to the
Motherboard 946
x
Contents
This is the Chapter Title
Installing the Drives 948
Installing a Video Card 952
Installing Additional Expansion
Cards 954
Replacing the Cover and Connecting
External Cables 954
System Startup 954
Installing the OS 956
Troubleshooting New Installations 957
20 PC Diagnostics, Testing, and
Maintenance 959
PC Diagnostics 959
Diagnostics Software 959
The POST 960
Peripheral Diagnostics 972
Operating System Diagnostics 973
Commercial Diagnostics Software 974
Free/User Supported Diagnostics 974
The Boot Process 975
The Hardware Boot Process: Operating
System Independent 975
The DOS Boot Process 979
The Windows 9x/Me Boot Process 980
Windows 2000/XP Startup 980
Windows Vista/7 Startup 981
PC Maintenance Tools 982
Hand Tools 982
Safety 986
Test Equipment 987
Special Tools for the Enthusiast 992
Preventive Maintenance 993
Active Preventive Maintenance
Procedures 994
Passive Preventive Maintenance
Procedures 999
Troubleshooting Tips and Techniques 1003
Repair or Replace? 1003
Troubleshooting by Replacing Parts 1004
Troubleshooting by the Bootstrap
Approach 1004
Problems During the POST 1006
Problems Running Software 1006
Problems with Adapter Cards 1007
Top Troubleshooting Problems 1007
Index
1019
About the Author
Scott Mueller is the president of Mueller Technical Research (MTR), an international research and
corporate training firm. Since 1982, MTR has produced the industry’s most in-depth, accurate, and
effective seminars, books, articles, videos, and FAQs covering PC hardware and data recovery. MTR
maintains a client list that includes Fortune 500 companies, the U.S. and foreign governments, major
software and hardware corporations, as well as PC enthusiasts and entrepreneurs. Scott’s seminars
have been presented to several thousands of PC support professionals throughout the world.
Scott personally teaches seminars nationwide covering all aspects of PC hardware (including troubleshooting, maintenance, repair, and upgrade), A+ Certification, and data recovery/forensics. He has
a knack for making technical topics not only understandable, but entertaining; his classes are never
boring! If you have 10 or more people to train, Scott can design and present a custom seminar for
your organization.
Although he has taught classes virtually nonstop since 1982, Scott is best known as the author of the
longest-running, most popular, and most comprehensive PC hardware book in the world, Upgrading
and Repairing PCs, which has become the core of an entire series of books, including Upgrading and
Repairing PCs, Upgrading and Repairing Laptops, and Upgrading and Repairing Windows.
Scott’s premiere work, Upgrading and Repairing PCs, has sold well over two million copies, making it
by far the most popular and longest-running PC hardware book on the market today. Scott has been
featured in Forbes magazine and has written several articles for PC World magazine, Maximum PC
magazine, the Scott Mueller Forum, various computer and automotive newsletters, and the Upgrading
and Repairing PCs website.
Contact MTR directly if you have a unique book, article, or video project in mind or if you want
Scott to conduct a custom PC troubleshooting, repair, maintenance, upgrade, or data-recovery seminar tailored for your organization:
Mueller Technical Research
Web:
www.muellertech.com
Email:
[email protected]
Forum:
www.forum.scottmueller.com
Scott has a forum exclusively for his readers at www.forum.scottmueller.com. Anybody can view the
forum, but posting is only available to registered members.
If you have suggestions or comments about the book or new book or article topics you would like to
see covered, send them to [email protected]
Dedication
To Emerson, congratulations on your graduation.
Acknowledgments
I must give a very special thanks to Rick Kughen at Que. Through the years Rick is the number-one
person responsible for championing this book and the Upgrading and Repairing series. I cannot say
enough about Rick and what he means to all the Upgrading and Repairing books. With all that he’s
been through working on this book, I have a feeling I might be responsible for a few gray hairs.
(Sorry!)
I’d also like to thank Todd Brakke for doing the development editing for this edition, which was
fairly substantial considering all the rewrites and new material. His excellent tips and suggestions
really help to keep the material concise and up-to-date.
Special thanks also go to Karen Gill who helped tremendously with the editing and to Jovana San
Nicolas-Shirley for shepherding the manuscripts through a tight publishing schedule. I’d also like to
thank the proofreader, illustrator, designer, and indexer who work so hard to complete the finished
product and get this book out the door! They are a wonderful team that produces clearly the best
computer books on the market. I am happy and proud to be closely associated with all the people at
Que.
I would also like to say thanks to my publisher Greg Wiegand, who has stood behind all the
Upgrading and Repairing book and video projects. Greg is a fellow motorcycle enthusiast—someday,
hopefully, we can go riding together.
All the people at Que make me feel as if we are on the same team, and they are just as dedicated as I
am to producing the best books possible.
I would also like to say thanks to Mark Reddin, who has become the primary technical editor for this
book since the 13th edition. Not only is he extremely diligent in verifying details, but he makes
numerous suggestions about additional coverage. His input has been extremely important in helping
me to ensure the highest level of technical accuracy and depth of coverage.
Many readers write me with suggestions and even corrections for the book, for which I am especially
grateful. I welcome any and all of your comments and even your criticisms. I take them seriously and
apply them to the continuous improvement of this book. Interaction with my readers is the primary
force that helps maintain this book as the most up-to-date and relevant work available anywhere on
the subject of PC hardware.
Finally, I would like to thank the thousands of people who have attended my seminars; you have no
idea how much I learn from each of you and all your questions!
We Want to Hear from You!
As the reader of this book, you are our most important critic and commentator. We value your opinion and want to know what we’re doing right, what we could do better, what areas you’d like to see
us publish in, and any other words of wisdom you’re willing to pass our way.
As an associate publisher for Que Publishing, I welcome your comments. You can email or write me
directly to let me know what you did or didn’t like about this book—as well as what we can do to
make our books better.
Please note that I cannot help you with technical problems related to the topic of this book. We do have a
User Services group, however, where I will forward specific technical questions related to the book.
When you write, please be sure to include this book’s title and author as well as your name, email
address, and phone number. I will carefully review your comments and share them with the author
and editors who worked on the book.
Email:
[email protected]
Mail:
Greg Wiegand
Editor-in-Chief
Que Publishing
800 East 96th Street
Indianapolis, IN 46240 USA
Reader Services
Visit our website and register this book at quepublishing.com/register for convenient access to any
updates, downloads, or errata that might be available for this book.
This page intentionally left blank
Accessing the Media Included with this Book
Don't forget about the Upgrading and Repairing PCs website! Here, you'll find a cache of helpful
material to go along with this book. There, you'll find 90 minutes of video that are yours with the
purchase of this ebook. You'll also find an entire copy of the previous edition of this book as well as
many pages of valuable reference material that's particularly useful for those maintaining legacy
equipment.
Register this eBook to unlock the companion files that are included in the Print edition DVD.
Follow the steps below:
1. Go to quepublishing.com/register and log in or create a new account.
2. Enter the ISBN: 9780789747105 (NOTE: please enter the print book ISBN provided to register
the eBook you purchased).
3. Enter the following code when prompted: URPCSDVD20E
4. Click on the “Access Bonus Content” link in the Registered Products section of your account
page, to be taken to the page where your content is available. Note that the videos are
streamed so you can watch them from any computer. Click the links to the 19th Edition PDF
and other materials to view them, or right click and choose to save the file to your computer.
Note
If you would like to download the videos to your computer, simply right-click the video and choose Save As. Note that
the video files are large and will download slowly.
This page intentionally left blank
Introduction
Welcome to Upgrading and Repairing PCs, 20th edition. Since debuting as the first book of its kind on
the market in 1988, no other book on PC hardware has matched the depth and quality of the information found in this tome. This edition continues Upgrading and Repairing PCs’ role as not only the
best-selling book of its type, but also the most comprehensive and complete PC hardware reference
available. This book examines PCs in depth, outlines the differences among them, and presents
options for configuring each system.
The 20th edition of Upgrading and Repairing PCs provides you with the in-depth knowledge you
need to work with the most recent systems and components as well as providing you with an unexcelled resource for understanding older systems. We have worked to make this book keep pace with
the rapid changes in the PC industry so that it continues to be the most accurate, complete, and indepth book of its kind on the market today.
I wrote this book for all PC enthusiasts who want to know everything about their PCs: how they
originated; how they’ve evolved; how to upgrade, troubleshoot, and repair them; and everything in
between. This book covers the full gamut of PC-compatible systems, from the oldest 8-bit machines
to the latest high-end 64-bit multicore processors and systems. If you need to know everything
about PC hardware from the original to the latest technology on the market today, this book and
the accompanying information-packed disc is definitely for you.
Upgrading and Repairing PCs also doesn’t ignore the less glamorous PC components. Every part of
your PC plays a critical role in its stability and performance. Over the course of this book, you’ll
find out exactly why your motherboard’s chipset might just be the most important part of your PC
and what can go wrong when you settle for a run-of-the-mill power supply that can’t get enough
juice to that monster graphics card you just bought. You’ll also find in-depth coverage of technologies such as new six-core processors from Intel and AMD, processors with onboard graphics, graphics cards for the fastest 3D gaming, the latest audio cards for sound producers and audiophiles,
SATA 6Gbps and USB 3.0 in the latest motherboards, advances in Blu-ray and solid state drives, and
more—it’s all in here, right down to the guts-level analysis of your mouse and keyboard.
Book Objectives
Upgrading and Repairing PCs focuses on several objectives. The primary objective is to help you learn
how to maintain, upgrade, and troubleshoot your PC system. To that end, Upgrading and Repairing
PCs helps you fully understand the family of computers that has grown from the original IBM PC,
including all PC-compatible systems. This book discusses all areas of system improvement, such as
motherboards, processors, memory, and even case and power-supply improvements. It covers
proper system and component care, specifies the most failure-prone items in various PC systems,
and tells you how to locate and identify a failing component. You’ll learn about powerful diagnostics hardware and software that enable a system to help you determine the cause of a problem and
how to repair it.
As always, PCs are moving forward rapidly in power and capabilities. Processor performance
increases with every new chip design. Upgrading and Repairing PCs helps you gain an understanding
of all the processors used in PC-compatible computer systems.
This book covers the important differences between major system architectures, from the original
Industry Standard Architecture (ISA) to the latest PCI Express interface standards. Upgrading and
Repairing PCs covers each of these system architectures and their adapter boards to help you make
decisions about which type of system you want to buy in the future and to help you upgrade and
troubleshoot such systems.
2
Introduction
The amount of storage space available to modern PCs is increasing geometrically. Upgrading and
Repairing PCs covers storage options ranging from larger, faster hard drives to state-of-the-art storage
devices.
When you finish reading this book, you should have the knowledge to upgrade, troubleshoot, and
repair almost any system and component.
Additional Online Resources
Be sure to visit my private forum (www.forum.scottmueller.com) designed exclusively to support those
who have purchased my recent books and DVDs. I use the forum to answer questions and otherwise
help my loyal readers. If you own one of my current books or DVDs, feel free to join in and post
questions. I endeavor to answer each question personally, but I also encourage knowledgeable members to respond. Anybody can view the forum without registering, but to post a question of your own
you need to join. Even if you don’t join in, the forum is a tremendous resource because you can still
benefit from all the reader questions I have answered over the years.
Be sure to visit Que’s Gadgets and Hardware site where you’ll find useful articles, video clips and more
– all free! Point your browser to www.quepublishing.com/gadgetsandhardware.
Lastly, check out www.quepublishing.com/upgrading for more information on all my latest books, videos,
articles, FAQs, and more!
A Personal Note
When asked which was his favorite Corvette, Dave McLellan, former manager of the Corvette platform at General Motors, always said, “Next year’s model.” Now with the new 20th edition, next year’s
model has just become this year’s model, until next year that is…
I believe this book is absolutely the best book of its kind on the market, and that is due in large part
to the extensive feedback I have received from both my seminar attendees and book readers. I am so
grateful to everyone who has helped me with this book through each edition, as well as all the loyal
readers who have been using this book, many of you since the first edition was published. I have had
personal contact with many thousands of you in the seminars I have been teaching since 1982, and I
enjoy your comments and even your criticisms tremendously. Using this book in a teaching environment has been a major factor in its development. Some of you might be interested to know that I
originally began writing this book in early 1985; back then it was self-published and used exclusively
in my PC hardware seminars before being professionally published by Que in 1988.
Introduction
3
In one way or another, I have been writing and rewriting this book for more than 25 years! In that
time, Upgrading and Repairing PCs has proven to be not only the first but also the most comprehensive
and yet approachable and easy-to-understand book of its kind. With this new edition, it is even better
than ever. Your comments, suggestions, and support have helped this book to become the best PC
hardware book on the market. I look forward to hearing your comments after you see this exciting
new edition.
Scott
This page intentionally left blank
Chapter
1
Development of the PC
Computer History: Before Personal Computers
Many discoveries and inventions have directly and indirectly contributed to the development of
the PC and other personal computers as we know them today. Examining a few important developmental landmarks can help bring the entire picture into focus.
Timeline
The following is a timeline of significant events in computer history. It is not meant to be complete, just a representation of some of the major landmarks in computer development:
1617
John Napier creates “Napier’s Bones,”
wooden or ivory rods used for
calculating.
1642
Blaise Pascal introduces the Pascaline digital adding machine.
1822
Charles Babbage introduces the
Difference Engine and later the
Analytical Engine, a true general-purpose
computing machine.
1906
Lee De Forest patents the vacuum tube
triode, used as an electronic switch in the
first electronic computers.
1936
Alan Turing publishes “On Computable
Numbers,” a paper in which he conceives
an imaginary computer called the Turing
Machine, considered one of the foundations of modern computing. Turing later
worked on breaking the German Enigma
code.
1936
Konrad Zuse begins work on a series of
computers that will culminate in 1941
when he finishes work on the Z3. These
are considered the first working electric
binary computers, using electromechanical switches and relays.
1937
John V. Atanasoff begins work on the
Atanasoff-Berry Computer (ABC), which
would later be officially credited as the
first electronic computer. Note that an
electronic computer uses tubes, transistors,
or other solid-state switching devices,
whereas an electric computer uses electric
motors, solenoids, or relays (electromechanical switches).
6
Chapter 1
Development of the PC
1943
Thomas (Tommy) Flowers develops the
Colossus, a secret British code-breaking
computer designed to decode teleprinter
messages encrypted by the German army.
1945
John von Neumann writes “First Draft of a
Report on the EDVAC,” in which he outlines the architecture of the modern
stored-program computer.
1946
ENIAC is introduced, an electronic computing machine built by John Mauchly
and J. Presper Eckert.
1947
On December 23, William Shockley,
Walter Brattain, and John Bardeen successfully test the point-contact transistor, setting off the semiconductor revolution.
1949
Maurice Wilkes assembles the EDSAC, the
first practical stored-program computer, at
Cambridge University.
1950
Engineering Research Associates of
Minneapolis builds the ERA 1101, one
of the first commercially produced
computers.
1952
The UNIVAC I delivered to the U.S.
Census Bureau is the first commercial
computer to attract widespread public
attention.
1953
IBM ships its first electronic computer,
the 701.
1954
A silicon-based junction transistor, perfected by Gordon Teal of Texas
Instruments, Inc., brings a tremendous
reduction in costs.
1954
The IBM 650 magnetic drum calculator
establishes itself as the first mass-produced
computer, with the company selling 450
in one year.
1955
Bell Laboratories announces the first fully
transistorized computer, TRADIC.
1956
MIT researchers build the TX-0, the first
general-purpose, programmable computer
built with transistors.
1956
The era of magnetic disk storage dawns
with IBM’s shipment of a 305 RAMAC to
Zellerbach Paper in San Francisco.
1958
Jack Kilby creates the first integrated circuit at Texas Instruments to prove that
resistors and capacitors can exist on the
same piece of semiconductor material.
1959
IBM’s 7000 series mainframes are the company’s first transistorized computers.
1959
Robert Noyce’s practical integrated circuit,
invented at Fairchild Camera and
Instrument Corp., allows printing of conducting channels directly on the silicon
surface.
1960
Bell Labs designs its Dataphone, the first
commercial modem, specifically for converting digital computer data to analog
signals for transmission across its longdistance network.
1961
According to Datamation magazine, IBM
has an 81.2% share of the computer market in 1961, the year in which it introduces the 1400 series.
1964
IBM announces System/360, a family of
six mutually compatible computers and
40 peripherals that can work together.
1964
Online transaction processing makes its
debut in IBM’s SABRE reservation system,
set up for American Airlines.
1965
Digital Equipment Corp. introduces the
PDP-8, the first commercially successful
minicomputer.
1969
The root of what is to become the Internet
begins when the Department of Defense
establishes four nodes on the ARPAnet:
two at University of California campuses
(one at Santa Barbara and one at Los
Angeles) and one each at Stanford
Research Institute and the University of
Utah.
1971
A team at IBM’s San Jose Laboratories
invents the 8-inch floppy disk drive.
Computer History: Before Personal Computers
1971
The first advertisement for a microprocessor, the Intel 4004, appears in Electronic
News.
1971
The Kenbak-1, one of the first personal
computers, is advertised for $750 in
Scientific American.
1972
Intel’s 8008 microprocessor makes its
debut.
1973
Robert Metcalfe devises the Ethernet
method of network connection at the
Xerox Palo Alto Research Center.
1973
The Micral is the earliest commercial,
nonkit personal computer based on a
microprocessor, the Intel 8008.
1973
1974
The TV Typewriter, designed by Don
Lancaster, provides the first display of
alphanumeric information on an ordinary
television set.
Researchers at the Xerox Palo Alto
Research Center design the Alto, the first
workstation with a built-in mouse for
input.
1974
Scelbi advertises its 8H computer, the first
commercially advertised U.S. computer
based on a microprocessor, Intel’s 8008.
1975
Telenet, the first commercial packetswitching network and civilian equivalent
of ARPAnet, is born.
1975
The January edition of Popular Electronics
features the Altair 8800, which is based on
Intel’s 8080 microprocessor, on its cover.
1976
Steve Wozniak designs the Apple I, a
single-board computer.
1976
The 5 1/4-inch floppy disk drive is introduced by Shugart Associates.
1977
Tandy RadioShack introduces the TRS-80.
1977
Apple Computer introduces the Apple II.
1977
Commodore introduces the PET (Personal
Electronic Transactor).
1979
Motorola introduces the 68000 microprocessor.
Chapter 1
7
1980
Seagate Technology creates the first hard
disk drive for microcomputers, the ST-506.
1981
Xerox introduces the Star, the first personal computer with a graphical user
interface (GUI).
1981
Adam Osborne completes the first portable
computer, the Osborne I, which weighs
24 pounds and costs $1,795.
1981
IBM introduces its PC, igniting a fast
growth of the personal computer market.
The IBM PC is the grandfather of all
modern PCs.
1981
Sony introduces and ships the first 3 1/2inch floppy disk drive.
1981
Philips and Sony introduce the CD-DA
(compact disc digital audio) format.
1983
Apple introduces its Lisa, which incorporates a GUI that’s similar to the one introduced on the Xerox Star.
1983
Compaq Computer Corp. introduces its
first PC clone that uses the same software
as the IBM PC.
1984
Apple Computer launches the Macintosh,
the first successful mouse-driven computer
with a GUI, with a single $1.5 million
commercial during the 1984 Super Bowl.
1984
IBM releases the PC-AT (PC Advanced
Technology), three times faster than original PCs and based on the Intel 286 chip.
The AT introduces the 16-bit ISA bus and
is the computer on which all modern PCs
are based.
1985
Philips introduces the first CD-ROM drive.
1986
Compaq announces the Deskpro 386, the
first computer on the market to use Intel’s
32-bit 386 chip.
1987
IBM introduces its PS/2 machines, which
make the 3 1/2-inch floppy disk drive and
VGA video standard for PCs. The PS/2 also
introduces the MicroChannel Architecture
(MCA) bus, the first plug-and-play bus
for PCs.
8
Chapter 1
Development of the PC
1988
Apple cofounder Steve Jobs, who left
Apple to form his own company, unveils
the NeXT Computer.
1988
Compaq and other PC-clone makers
develop Enhanced Industry Standard
Architecture (EISA), which unlike
MicroChannel retains backward compatibility with the existing ISA bus.
1988
1989
1990
1993
Robert Morris’s worm floods the ARPAnet.
The 23-year-old Morris, the son of a computer security expert for the National
Security Agency, sends a nondestructive
worm through the Internet, causing problems for about 6,000 of the 60,000 hosts
linked to the network.
Intel releases the 486 (P4) microprocessor,
which contains more than one million
transistors. Intel also introduces 486
motherboard chipsets.
The World Wide Web (WWW) is born
when Tim Berners-Lee, a researcher at
CERN—the high-energy physics laboratory
in Geneva—develops Hypertext Markup
Language (HTML).
Intel releases the Pentium (P5) processor.
Intel shifts from numbers to names for its
chips after the company learns it’s impossible to trademark a number. Intel also
releases motherboard chipsets and, for the
first time, complete motherboards.
1995
Intel releases the Pentium Pro processor,
the first in the P6 processor family.
1995
Microsoft releases Windows 95 in a huge
rollout.
1997
Intel releases the Pentium II processor,
essentially a Pentium Pro with MMX
instructions added.
1997
AMD introduces the K6, which is compatible with the Intel P5 (Pentium).
1998
Microsoft releases Windows 98.
1998
Intel releases the Celeron, a low-cost version of the Pentium II processor. Initial
versions have no cache, but within a few
months Intel introduces versions with a
smaller but faster L2 cache.
1999
Intel releases the Pentium III, essentially a
Pentium II with SSE (Streaming SIMD
Extensions) added.
1999
AMD introduces the Athlon.
1999
The IEEE officially approves the 5GHz
band 802.11a 54Mbps and 2.4GHz band
802.11b 11Mbps wireless networking standards. The Wi-Fi Alliance is formed to certify 802.11b products, ensuring
interoperability.
2000
The first 802.11b Wi-Fi-certified products
are introduced, and wireless networking
rapidly builds momentum.
2000
Microsoft releases Windows Me
(Millennium Edition) and Windows 2000.
2000
Both Intel and AMD introduce processors
running at 1GHz.
2000
AMD introduces the Duron, a low-cost
Athlon with reduced L2 cache.
2000
Intel introduces the Pentium 4, the latest
processor in the Intel Architecture 32-bit
(IA-32) family.
2001
The industry celebrates the 20th anniversary of the release of the original IBM PC.
2001
Intel introduces the first 2GHz processor, a
version of the Pentium 4. It takes the
industry 28 1/2 years to go from 108KHz
to 1GHz but only 18 months to go from
1GHz to 2GHz.
2001
Microsoft releases Windows XP, the first
mainstream 32-bit operating system (OS),
merging the consumer and business OS
lines under the same code base (NT 5.1).
2001
Atheros introduces the first 802.11a
54Mbps high-speed wireless chips, allowing 802.11a products to finally reach the
market.
Computer History: Before Personal Computers
2002
2003
Intel releases the first 3GHz-class processor, a 3.06GHz version of the Pentium 4.
This processor also introduces Intel’s
Hyper-Threading (HT) technology, appearing as two processors to the OS.
Intel releases the Pentium M, a processor
designed specifically for mobile systems,
offering extremely low power consumption that results in dramatically increased
battery life while still offering relatively
high performance.
2003
AMD releases the Athlon 64, the first x8664 (64-bit) processor for PCs, which also
includes integrated memory controllers.
2003
The IEEE officially approves the 802.11g
54Mbps high-speed wireless networking
standard.
2004
Intel introduces a version of the Pentium
4 codenamed Prescott, the first PC processor built on 90-nanometer technology.
2004
Intel introduces EM64T (Extended
Memory 64 Technology), which is a 64-bit
extension to Intel’s IA-32 architecture
based on (and virtually identical to) the
x86-64 (AMD64) technology first released
by AMD.
2005
Microsoft releases Windows XP x64
Edition, which supports processors with
64-bit AMD64 and EM64T extensions.
2005
The era of multicore PC processors begins
as Intel introduces the Pentium D 8xx and
Pentium Extreme Edition 8xx dual-core
processors. AMD soon follows with the
dual-core Athlon 64 X2.
2006
Apple introduces the first Macintosh systems based on PC architecture, stating
they are four times faster than previous
non-PC-based Macs.
2006
Intel introduces the Core 2 Extreme, the
first quad-core processor for PCs.
2006
Microsoft releases the long-awaited
Windows Vista to business users. The PC
Chapter 1
9
OEM and consumer market releases would
follow in early 2007.
2007
Intel releases the 3x series chipsets with
support for DDR3 memory and PCI
Express 2.0, which doubles the available
bandwidth.
2007
AMD releases the Phenom processors, the
first quad-core processors for PCs with all
four cores on a single die.
2008
Intel releases the Core i-Series (Nehalem)
processors, which are dual- or quad-core
chips with optional Hyper-Threading
(appearing as four or eight cores to the
OS) that include an integrated memory
controller.
2008
Intel releases the 4x and 5x series chipsets,
the latter of which supports Core i-Series
processors with integrated memory
controllers.
2009
Microsoft releases Windows 7, a highly
anticipated successor to Vista.
2009
AMD releases the Phenom II processors in
2-, 3-, and 4-core versions.
2010
Intel releases six-core versions of the Core
i-Series processor (Gulftown) and a dualcore version with integrated graphics
(Clarkdale). The Gulftown is the first PC
processor with more than 1 billion
transistors.
2010
AMD releases six-core versions of the
Phenom II processor.
2011
Intel releases the second-generation Core
i-Series processors along with new 6-Series
motherboard chipsets. The chipsets and
motherboards are quickly recalled due to a
bug in the SATA host adapter. The recall
costs Intel nearly a billion dollars and
results in a several month delay in the
processors and chipsets reaching the
market.
10
Chapter 1
Development of the PC
Electronic Computers
A physicist named John V. Atanasoff (with associate Clifford Berry) is officially credited with creating
the first true digital electronic computer from 1937 to 1942, while working at Iowa State University.
The Atanasoff-Berry Computer (called the ABC) was the first to use modern digital switching techniques and vacuum tubes as switches, and it introduced the concepts of binary arithmetic and logic
circuits. This was made legally official on October 19, 1973 when, following a lengthy court trial, U.S.
Federal Judge Earl R. Larson voided the ENIAC patent of Eckert and Mauchly and named Atanasoff as
the inventor of the first electronic digital computer.
Military needs during World War II caused a great thrust forward in the evolution of computers. In
1943, Tommy Flowers completed a secret British code-breaking computer called Colossus, which was
used to decode German secret messages. Unfortunately, that work went largely uncredited because
Colossus was kept secret until many years after the war.
Besides code-breaking, systems were needed to calculate weapons trajectory and other military functions. In 1946, John P. Eckert, John W. Mauchly, and their associates at the Moore School of Electrical
Engineering at the University of Pennsylvania built the first large-scale electronic computer for the
military. This machine became known as ENIAC, the Electrical Numerical Integrator and Calculator. It
operated on 10-digit numbers and could multiply two such numbers at the rate of 300 products per
second by finding the value of each product from a multiplication table stored in its memory. ENIAC
was about 1,000 times faster than the previous generation of electromechanical relay computers.
ENIAC used approximately 18,000 vacuum tubes, occupied 1,800 square feet (167 square meters) of
floor space, and consumed around 180,000 watts of electrical power. Punched cards served as the
input and output; registers served as adders and as quick-access read/write storage.
The executable instructions composing a given program were created via specified wiring and
switches that controlled the flow of computations through the machine. As such, ENIAC had to be
rewired and switched for each program to be run.
Although Eckert and Mauchly were originally given a patent for the electronic computer, it was later
voided and the patent awarded to John Atanasoff for creating the Atanasoff-Berry Computer.
Earlier in 1945, the mathematician John von Neumann demonstrated that a computer could have a
simple, fixed physical structure and yet be capable of executing any kind of computation effectively
by means of proper programmed control without changes in hardware. In other words, you could
change the program without rewiring the system. The stored-program technique, as von Neumann’s
ideas are known, became fundamental for future generations of high-speed digital computers and has
become universally adopted.
The first generation of modern programmed electronic computers to take advantage of these improvements appeared in 1947. This group of machines included EDVAC and UNIVAC, the first commercially available computers. These computers included, for the first time, the use of true random access
memory (RAM) for storing parts of the program and the data that is needed quickly. Typically, they
were programmed directly in machine language, although by the mid-1950s progress had been made
in several aspects of advanced programming. The standout of the era is the UNIVAC (Universal
Automatic Computer), which was the first true general-purpose computer designed for both alphabetical and numerical uses. This made the UNIVAC a standard for business, not just science and the
military.
Modern Computers
Chapter 1
11
Modern Computers
From UNIVAC to the latest desktop PCs, computer evolution has moved very rapidly. The firstgeneration computers were known for using vacuum tubes in their construction. The generation
to follow would use the much smaller and more efficient transistor.
From Tubes to Transistors
Any modern digital computer is largely a collection of electronic switches. These switches are used to
represent and control the routing of data elements called binary digits (or bits). Because of the on-oroff nature of the binary information and signal routing the computer uses, an efficient electronic
switch was required. The first electronic computers used vacuum tubes as switches, and although the
tubes worked, they had many problems.
The type of tube used in early computers was called a triode and was invented by Lee De Forest in
1906 (see Figure 1.1). It consists of a cathode and a plate, separated by a control grid, suspended in a
glass vacuum tube. The cathode is heated by a red-hot electric filament, which causes it to emit electrons that are attracted to the plate. The control grid in the middle can control this flow of electrons.
By making it negative, you cause the electrons to be repelled back to the cathode; by making it positive, you cause them to be attracted toward the plate. Thus, by controlling the grid current, you can
control the on/off output of the plate.
Grid
Heated
Cathode
Figure 1.1
Plate
The three main components of a basic triode vacuum tube.
Unfortunately, the tube was inefficient as a switch. It consumed a great deal of electrical power and
gave off enormous heat—a significant problem in the earlier systems. Primarily because of the heat
they generated, tubes were notoriously unreliable—in larger systems, one failed every couple of hours
or so.
The invention of the transistor was one of the most important developments leading to the personal
computer revolution. The transistor was invented in 1947 and announced in 1948 by Bell Laboratory
engineers John Bardeen and Walter Brattain. Bell associate William Shockley invented the junction
transistor a few months later, and all three jointly shared the Nobel Prize in Physics in 1956 for
inventing the transistor. The transistor, which essentially functions as a solid-state electronic switch,
replaced the less-suitable vacuum tube. Because the transistor was so much smaller and consumed significantly less power, a computer system built with transistors was also much smaller, faster, and more
efficient than a computer system built with vacuum tubes.
12
Chapter 1
Development of the PC
The conversion from tubes to transistors began the trend toward miniaturization that continues to
this day. Today’s small laptop PC (or netbook, if you prefer) and even Tablet PC systems, which run
on batteries, have more computing power than many earlier systems that filled rooms and consumed
huge amounts of electrical power.
Although there have been many designs for transistors over the years, the transistors used in modern
computers are normally Metal Oxide Semiconductor Field Effect Transistors (MOSFETs). MOSFETs are
made from layers of materials deposited on a silicon substrate. Some of the layers contain silicon with
certain impurities added by a process called doping or ion bombardment, whereas other layers include
silicon dioxide (which acts as an insulator), polysilicon (which acts as an electrode), and metal to act
as the wires to connect the transistor to other components. The composition and arrangement of the
different types of doped silicon allow them to act both as a conductor or an insulator, which is why
silicon is called a semiconductor.
MOSFETs can be constructed as either NMOS or PMOS types, based on the arrangement of doped silicon used. Silicon doped with boron is called P-type (positive) because it lacks electrons, whereas silicon doped with phosphorus is called N-type (negative) because it has an excess of free electrons.
MOSFETs have three connections, called the source, gate, and drain. An NMOS transistor is made by
using N-type silicon for the source and drain, with P-type silicon placed in between (see Figure 1.2).
The gate is positioned above the P-type silicon, separating the source and drain, and is separated from
the P-type silicon by an insulating layer of silicon dioxide. Normally there is no current flow between
N-type and P-type silicon, thus preventing electron flow between the source and drain. When a positive voltage is placed on the gate, the gate electrode creates a field that attracts electrons to the P-type
silicon between the source and drain. That in turn changes that area to behave as if it were N-type silicon, creating a path for current to flow and turning the transistor “on.”
Gate
Source
Metal conductors
Drain
Polysilicon gate
electrode
Silicon dioxide
(insulator)
P-type silicon
N-type
silicon
N-type
silicon
Silicon substrate
Figure 1.2
Cutaway view of an NMOS transistor.
A PMOS transistor works in a similar but opposite fashion. P-type silicon is used for the source and
drain, with N-type silicon positioned between them. When a negative voltage is placed on the gate,
the gate electrode creates a field that repels electrons from the N-type silicon between the source and
History of the PC
Chapter 1
13
drain. That in turn changes that area to behave as if it were P-type silicon, creating a path for current
to flow and turning the transistor “on.”
When both NMOS and PMOS field-effect transistors are combined in a complementary arrangement,
power is used only when the transistors are switching, making dense, low-power circuit designs possible. Because of this, virtually all modern processors are designed using CMOS (Complementary Metal
Oxide Semiconductor) technology.
Compared to a tube, a transistor is much more efficient as a switch and can be miniaturized to microscopic scale. Since the transistor was invented, engineers have strived to make it smaller and smaller.
In 2003, NEC researchers unveiled a silicon transistor only 5 nanometers (billionths of a meter) in
size. Other technology, such as Graphene and carbon nanotubes, are being explored to produce even
smaller transistors, down to the molecular or even atomic scale. In 2008, British researchers unveiled
a Graphene-based transistor only 1 atom thick and 10 atoms (1nm) across, and in 2010, IBM
researchers created Graphene transistors switching at a rate of 100 gigahertz, thus paving the way for
future chips denser and faster than possible with silicon-based designs.
Integrated Circuits
The third generation of modern computers is known for using integrated circuits instead of individual
transistors. Jack Kilby at Texas Instruments and Robert Noyce at Fairchild are both credited with having invented the integrated circuit (IC) in 1958 and 1959. An IC is a semiconductor circuit that contains more than one component on the same base (or substrate material), which are usually
interconnected without wires. The first prototype IC constructed by Kilby at TI in 1958 contained
only one transistor, several resistors, and a capacitor on a single slab of germanium, and it featured
fine gold “flying wires” to interconnect them. However, because the flying wires had to be individually attached, this type of design was not practical to manufacture. By comparison, Noyce patented
the “planar” IC design in 1959, where all the components are diffused in or etched on a silicon base,
including a layer of aluminum metal interconnects. In 1960, Fairchild constructed the first planar IC,
consisting of a flip-flop circuit with four transistors and five resistors on a circular die only about
20mm2 in size. By comparison, the Intel Core i7 quad-core processor incorporates 731 million transistors (and numerous other components) on a single 263mm2 die!
History of the PC
The fourth generation of the modern computer includes those that incorporate microprocessors in
their designs. Of course, part of this fourth generation of computers is the personal computer, which
itself was made possible by the advent of low-cost microprocessors and memory.
Birth of the Personal Computer
In 1973, some of the first microcomputer kits based on the 8008 chip were developed. These kits were
little more than demonstration tools and didn’t do much except blink lights. In April 1974, Intel
introduced the 8080 microprocessor, which was 10 times faster than the earlier 8008 chip and
addressed 64KB of memory. This was the breakthrough that the personal computer industry had been
waiting for.
A company called MITS introduced the Altair 8800 kit in a cover story in the January 1975 issue of
Popular Electronics. The Altair kit, considered by many to be the first personal computer, included an
8080 processor, a power supply, a front panel with a large number of lights, and 256 bytes (not kilobytes) of memory. The kit sold for $395 and had to be assembled. Assembly back then meant you got
out your soldering iron to actually finish the circuit boards—not like today, where you can assemble a
system of premade components with nothing more than a screwdriver.
14
Chapter 1
Development of the PC
Note
Micro Instrumentation and Telemetry Systems was the original name of the company founded in 1969 by Ed Roberts and
several associates to manufacture and sell instruments and transmitters for model rockets. Ed Roberts became the sole
owner in the early 1970s, after which he designed the Altair. By January 1975, when the Altair was introduced, the company was called MITS, Inc., which then stood for nothing more than the name of the company. In 1977, Roberts sold
MITS to Pertec, moved to Georgia, went to medical school, and became a practicing physician. Considered by many to
be the “father of the personal computer,” Roberts passed away in 2010 after a long bout with pneumonia.
The Altair included an open architecture system bus later called the S-100 bus, so named because it
became an industry standard and had 100 pins per slot. The S-100 bus was widely adopted by other
computers that were similar to the Altair, such as the IMSAI 8080, which was featured in the movie
WarGames. The S-100 bus open architecture meant that anybody could develop boards to fit in these
slots and interface to the system, and it ensured a high level of cross-compatibility between different
boards and systems. The popularity of 8080 processor–based systems inspired software companies to
write programs, including the CP/M (control program for microprocessors) OS and the first version of
the Microsoft BASIC (Beginners All-purpose Symbolic Instruction Code) programming language.
IBM introduced what can be called its first personal computer in 1975. The Model 5100 had 16KB of
memory, a built-in 16-line-by-64-character display, a built-in BASIC language interpreter, and a builtin DC-300 cartridge tape drive for storage. The system’s $8,975 price placed it out of the mainstream
personal computer marketplace, which was dominated by experimenters (affectionately referred to as
hackers) who built low-cost kits ($500 or so) as a hobby. Obviously, the IBM system was not in competition for this low-cost market and did not sell as well by comparison.
The Model 5100 was succeeded by the 5110 and 5120 before IBM introduced what we know as the
IBM Personal Computer (Model 5150). Although the 5100 series preceded the IBM PC, the older systems and the 5150 IBM PC had nothing in common. The PC that IBM turned out was more closely
related to the IBM System/23 DataMaster, an office computer system introduced in 1980. In fact,
many of the engineers who developed the IBM PC had originally worked on the DataMaster.
In 1976, a new company called Apple Computer introduced the Apple I, which originally sold for
$666.66. The selling price was an arbitrary number selected by one of Apple’s cofounders, Steve Jobs.
This system consisted of a main circuit board screwed to a piece of plywood; a case and power supply
were not included. Only a few of these computers were made, and they reportedly have sold to collectors for more than $20,000. The Apple II, introduced in 1977, helped set the standard for nearly all
the important microcomputers to follow, including the IBM PC.
The microcomputer world was dominated in 1980 by two types of computer systems. One type, the
Apple II, claimed a large following of loyal users and a gigantic software base that was growing at a
fantastic rate. The other type, CP/M systems, consisted not of a single system but of all the many systems that evolved from the original MITS Altair. These systems were compatible with one another and
were distinguished by their use of the CP/M OS and expansion slots, which followed the S-100 standard. All these systems were built by a variety of companies and sold under various names. For the
most part, however, these systems used the same software and plug-in hardware. It is interesting to
note that none of these systems was PC compatible or Macintosh compatible, the two primary standards in place today.
A new competitor looming on the horizon was able to see that to be successful, a personal computer
needed to have an open architecture, slots for expansion, a modular design, and healthy support from
both hardware and software companies other than the original manufacturer of the system. This competitor turned out to be IBM, which was quite surprising at the time because IBM was not known for
History of the PC
Chapter 1
15
systems with these open-architecture attributes. IBM, in essence, became more like the early Apple,
whereas Apple became like everybody expected IBM to be. The open architecture of the forthcoming
IBM PC and the closed architecture of the forthcoming Macintosh caused a complete turnaround in
the industry.
The IBM Personal Computer
At the end of 1980, IBM decided to truly compete in the rapidly growing low-cost personal computer
market. The company established the Entry Systems Division, located in Boca Raton, Florida, to
develop the new system. The division was intentionally located far away from IBM’s main headquarters in New York, or any other IBM facilities, so that it would be able to operate independently
as a separate unit. This small group consisted of 12 engineers and designers under the direction of
Don Estridge and was charged with developing IBM’s first real PC. (IBM considered the previous 5100
system, developed in 1975, to be an intelligent programmable terminal rather than a genuine computer, even though it truly was a computer.) Nearly all these engineers had come to the new division
from the System/23 DataMaster project, which was a small office computer system introduced in 1980
and the direct predecessor of the IBM PC.
Much of the PC’s design was influenced by the DataMaster design. In the DataMaster’s single-piece
design, the display and keyboard were integrated into the unit. Because these features were limiting,
they became external units on the PC, although the PC keyboard layout and electrical designs were
copied from the DataMaster.
Several other parts of the IBM PC system also were copied from the DataMaster, including the expansion bus (or input/output slots), which included not only the same physical 62-pin connector, but
also almost identical pin specifications. This copying of the bus design was possible because the PC
used the same interrupt controller as the DataMaster and a similar direct memory access (DMA) controller. Also, expansion cards already designed for the DataMaster could easily be redesigned to function in the PC.
The DataMaster used an Intel 8085 CPU, which had a 64KB address limit and an 8-bit internal and
external data bus. This arrangement prompted the PC design team to use the Intel 8088 CPU, which
offered a much larger (1MB) memory address limit and an internal 16-bit data bus, but only an 8-bit
external data bus. The 8-bit external data bus and similar instruction set enabled the 8088 to be easily
interfaced into the earlier DataMaster designs.
IBM brought its system from idea to delivery of functioning systems in one year by using existing
designs and purchasing as many components as possible from outside vendors. The Entry Systems
Division was granted autonomy from IBM’s other divisions and could tap resources outside the company, rather than go through the bureaucratic procedures that required exclusive use of IBM
resources. IBM contracted out the PC’s languages and OS to a small company named Microsoft. That
decision was the major factor in establishing Microsoft as the dominant force in PC software.
Note
It is interesting to note that IBM had originally contacted Digital Research (the company that created CP/M, then the most
popular personal computer OS) to have it develop an OS for the new IBM PC. However, Digital was leery of working
with IBM and especially balked at the nondisclosure agreement IBM wanted Digital to sign. Microsoft jumped on the
opportunity left open by Digital Research and, consequently, became the largest software company in the world. IBM’s
use of outside vendors in developing the PC was an open invitation for the after-market to jump in and support the
system—and it did.
16
Chapter 1
Development of the PC
On August 12, 1981, a new standard was established in the microcomputer industry with the debut of
the IBM PC. Since then, hundreds of millions of PC-compatible systems have been sold, as the original PC has grown into an enormous family of computers and peripherals. More software has been
written for this computer family than for any other system on the market.
The PC Industry 30 Years Later
In the 30 years since the original IBM PC was introduced, many changes have occurred. The IBMcompatible computer, for example, advanced from a 4.77MHz 8088-based system to 3GHz
(3,000MHz) or faster systems—about 100,000 or more times faster than the original IBM PC (in actual
processing speed, not just clock speed). The original PC had only one or two single-sided floppy drives
that stored 160KB each using DOS 1.0, whereas modern systems can have several terabytes (trillion
bytes) or more of hard disk storage.
A rule of thumb in the computer industry (called Moore’s Law, originally set forth by Intel cofounder
Gordon Moore) is that available processor performance and disk-storage capacity doubles every one
and a half to two years, give or take.
Since the beginning of the PC industry, this pattern has held steady and, if anything, seems to be
accelerating.
Moore’s Law
In 1965, Gordon Moore was preparing a speech about the growth trends in computer memory and made an interesting
observation. When he began to graph the data, he realized a striking trend existed. Each new chip contained roughly
twice as much capacity as its predecessor, and each chip was released within 18–24 months of the previous chip. If this
trend continued, he reasoned, computing power would rise exponentially over relatively brief periods.
Moore’s observation, now known as Moore’s Law, described a trend that has continued to this day and is still remarkably
accurate. It was found to not only describe memory chips, but also accurately describe the growth of processor power
and disk drive storage capacity. It has become the basis for many industry performance forecasts. As an example, in less
than 40 years the number of transistors on a processor chip increased more than half a million fold, from 2,300 transistors
in the 4004 processor in 1971 to 1.17 billion transistors in the six-core versions of the Core i-Series processors released
in 2010.
In addition to performance and storage capacity, another major change since the original IBM PC was
introduced is that IBM is not the only manufacturer of PC-compatible systems. IBM originated the
PC-compatible standard, of course, but today it no longer sets the standards for the system it originated. More often than not, new standards in the PC industry are developed by companies and organizations other than IBM.
Today, Intel, Microsoft, and AMD are primarily responsible for developing and extending the PC
hardware and software standards. Some have even taken to calling PCs “Wintel” systems, owing to
the dominance of the first two companies. Although AMD originally produced Intel processors under
license and later produced low-cost, pin-compatible counterparts to Intel’s 486 and Pentium processors (AMD 486, K5/K6), starting with the Athlon AMD has created completely unique processors that
are worthy rivals to Intel’s own models.
In more recent years, the introduction of hardware standards such as the universal serial bus (USB),
Peripheral Component Interconnect (PCI) bus, Accelerated Graphics Port (AGP) bus, PCI Express bus,
ATX motherboard form factor, as well as processor socket and slot interfaces show that Intel is the
driving force behind PC hardware design. Intel’s ability to design and produce motherboard chipsets
History of the PC
Chapter 1
17
as well as complete motherboards has enabled Intel processor–based systems to first adopt newer
memory and bus architectures as well as system form factors. Although in the past AMD has on occasion made chipsets for its own processors, the company’s acquisition of ATI has allowed it to become
more aggressive in the chipset marketplace.
PC-compatible systems have thrived not only because compatible hardware can be assembled easily,
but also because the most popular OS was available not from IBM but from a third party (Microsoft).
The core of the system software is the basic input/output system (BIOS); this was also available from
third-party companies, such as AMI, Phoenix, and others. This situation enabled other manufacturers
to license the OS and BIOS software and sell their own compatible systems. The fact that DOS borrowed the functionality and user interface from both CP/M and UNIX probably had a lot to do with
the amount of software that became available. Later, with the success of Windows, even more reasons
would exist for software developers to write programs for PC-compatible systems.
One reason Apple’s Macintosh systems have never enjoyed the market success of PC systems is that
Apple has often used proprietary hardware and software designs that it was unwilling to license to
other companies. This proprietary nature has unfortunately relegated Apple to a meager 5% market
share in personal computers.
One fortunate development for Mac enthusiasts was Apple’s shift to Intel x86 processors and PC
architecture in 2006, resulting in greatly improved performance and standardization as compared
to the previous non-PC-compatible Mac systems. Although Apple has failed to adopt some of the
industry-standard component form factors used in PCs (rendering major components such as motherboards noninterchangeable), the PC-based Macs truly are PCs from a hardware standpoint, using all
the same processors, chipsets, memory, buses, and other system architectures that PCs have been
using for years. I’ve had people ask me, “Is there a book like Upgrading and Repairing PCs that covers
Macs instead?” Well, since 2006 Macs have essentially become PCs, they are now covered in this book
by default! The move to a PC-based architecture is without a doubt the smartest move Apple has
made in years—besides reducing Apple’s component costs, it allows Macs to finally perform on par
with PCs.
Apple could even become a real contender in the OS arena (taking market share from Microsoft) if the
company would only sell its OS in an unlocked version that would run on non-Apple PCs.
Unfortunately for now, even though Apple’s OS X operating system is designed to run on PC hardware, it is coded to check for a security chip found only on Apple motherboards. There are ways to
work around the check (see OSx86project.org), but Apple does not support them.
Apple’s shift to a PC-based architecture is one more indication of just how popular the PC has
become. After 30 years the PC continues to thrive and prosper. With far-reaching industry support
and an architecture that is continuously evolving, I would say it is a safe bet that PC-compatible systems will continue to dominate the personal computer marketplace for the foreseeable future.
This page intentionally left blank
Chapter
2
PC Components,
Features, and
System Design
What Is a PC?
When I begin one of my Upgrading and Repairing PCs seminars, I like to ask the question, “What
exactly is a PC?” Most people immediately answer that PC stands for personal computer, which in
fact it does. Many continue by defining a personal computer as any small computer system purchased and used by an individual, which is also true. However, while it is true that all PCs are
personal computers, not all personal computers are PCs. For example, all of Apple’s pre-2006
Motorola/IBM processor–based Macintosh systems, older 8080/Z-80 processor–based CP/M
machines, and even my old Apple ][+ system are considered personal computers, but most people
wouldn’t call them PCs, least of all the Mac users! For the true definition of what a PC is, we must
look deeper.
Calling something a PC implies that it is something much more specific than just any personal
computer. One thing it implies is a familial relation to the original IBM PC from 1981. In fact, I’ll
go so far as to say that IBM literally invented the type of computer we call a PC today; that is, IBM
designed and created the first one, and IBM’s definition set all the standards that made the PC distinctive from other personal computers. Note that I’m not saying that IBM invented the personal
computer; many recognize the historical origins of the personal computer in the MITS Altair, introduced in 1975, even though other small computers were available prior. Clearly, IBM did not invent
the personal computer; however, it did invent the type of personal computer that today we call the
PC. Some people might take this definition a step further and define a PC as any personal computer
that is “IBM compatible.” In fact, many years back, PCs were called either IBM compatibles or IBM
clones, paying homage to the origins of the PC at IBM.
20
Chapter 2
PC Components, Features, and System Design
Some Personal Computer Trivia
Although the 1975 MITS Altair is often credited as the first personal computer, according to the Blinkenlights
Archaeological Institute (www.blinkenlights.com), the first personal computer was the Simon, created by Edmund C.
Berkeley and described in his 1949 book, Giant Brains, or Machines That Think. The plans for Simon were available for
purchase by Berkeley Enterprises as well as published in a series of 13 articles in Radio Electronics magazine from 1950
to 1951.
The term personal computer may have first appeared in a November 3, 1962 New York Times article quoting John W.
Mauchly (cocreator of ENIAC). The article was reporting on Mauchly’s vision of future computing, and he was quoted as
saying, “There is no reason to suppose the average boy or girl cannot be master of a personal computer.”
The first machine advertised as a “personal computer” was the Hewlett-Packard 9100A, a 40-pound programmable desktop electronic calculator released in 1968. Advertisements for the $4,900 system called it “the new Hewlett-Packard
9100A personal computer.” The end of the ad stated, “If you are still skeptical, or of faint heart, ask for a demonstration.
It will affirm, assure (and only slightly delay) your entry into the solid-state of personal computing power.” (See
www.vintagecalculators.com.)
The reality today is that although IBM clearly designed and created the PC in 1981 and controlled the
development and evolution of the PC standard for several years thereafter, IBM is no longer in control
of the PC standard; that is, it does not dictate what makes up a PC today. IBM lost control of the PC
standard in 1987 when it introduced its PS/2 line of systems. Up until then, other companies that
were producing PCs literally copied IBM’s systems right down to the chips, connectors, and even the
shapes (form factors) of the boards, cases, and power supplies. After 1987, IBM abandoned many of
the standards it created in the first place, and the designation “IBM compatible” started to be considered obsolete.
If a PC is no longer considered an IBM-compatible system, what is it? The real question seems to be,
“Who is in control of the PC standard today?” That question is best broken down into two parts.
First, who is in control of PC software? Second, who is in control of PC hardware?
Who Controls PC Software?
Most of the people in my seminars don’t hesitate for a split second when I ask this question; they
immediately respond, “Microsoft!” I don’t think there is any argument with that. Microsoft clearly
controls the dominant operating systems (OSs) used on PCs, which have evolved from the original
MS-DOS to DOS/Windows 3.x, then to Windows 9x/Me, then to Windows NT/2000/XP, and now to
Windows Vista/7.
Microsoft has effectively used its control of the PC OSs as leverage to also control other types of PC
software, such as drivers, utilities, and applications. For example, many utility programs originally
offered by independent companies, such as disk caching, disk compression, file defragmentation, file
structure repair, firewalls, and even simple applications such as calculator and notepad programs, are
now bundled in Windows. Microsoft has even bundled more comprehensive applications such as web
browsers, word processors, and media players, ensuring an automatic installed base for these applications—much to the dismay of companies who produce competing versions. Microsoft has also leveraged its control of the OS to integrate its own networking software and applications suites more
seamlessly into the OS than others. That’s why it now dominates most of the PC software universe—
from OSs to networking software to utilities, from word processors to database programs to
spreadsheets.
What Is a PC?
Chapter 2
21
In the early days of the PC, IBM hired Microsoft to provide most of the core software for the PC. IBM
developed the hardware, wrote the basic input/output system (BIOS), and hired Microsoft to develop
the disk operating system (DOS) as well as several other programs and utilities for the PC. In what was
later viewed as perhaps the most costly business mistake in history, IBM failed to secure exclusive
rights to the DOS it had contracted from Microsoft, either by purchasing it outright or by an exclusive
license agreement. Instead, IBM licensed it nonexclusively, which subsequently allowed Microsoft to
sell the same MS-DOS code it developed for IBM to any other company that was interested. Early PC
cloners such as Compaq eagerly licensed this OS code, and suddenly consumers could purchase the
same basic MS-DOS OS with several different company names on the box. In retrospect, that single
contractual error made Microsoft the dominant software company it is today and subsequently caused
IBM to lose control of the very PC standard it had created.
As a writer (of words, not software), I can appreciate what an incredible oversight this was. Imagine
that a book publisher comes up with a great idea for a popular book and then contracts with an
author to write it. Then, by virtue of a poorly written contract, the author discovers that he can
legally sell the same book (perhaps with a different title) to all the competitors of the original publisher. Of course, no publisher I know would allow this to happen; yet that is exactly what IBM
allowed Microsoft to do back in 1981. By virtue of its deal with Microsoft, IBM lost control of the
software it commissioned for its new PC.
It is interesting to note that in the PC business, software enjoys copyright protection, whereas hardware can be protected only by patents, which are much more difficult, time-consuming, and expensive to obtain. And in the case of U.S. patents, they also expire 20 years after filing. According to the
U.S. patent office, “any new and useful process, machine, manufacture, or composition of matter, or
any new and useful improvement thereof” can be patented. This definition made it difficult to patent
most aspects of the IBM PC because it was designed using previously existing parts that anybody
could purchase off the shelf. In fact, most of the important parts for the original PC came from Intel,
such as the 8088 processor, 8284 clock generator, 8253/54 timer, 8259 interrupt controller, 8237 DMA
(direct memory access) controller, 8255 peripheral interface, and 8288 bus controller. These chips
made up the heart and soul of the original PC motherboard.
Because the design of the original PC was not wholly patented and virtually all the parts were readily
available, almost anybody could duplicate the hardware of the IBM PC. All one had to do was purchase the same chips from the same manufacturers and suppliers IBM used and design a new motherboard with a similar circuit. IBM made it even easier by publishing complete schematic diagrams of its
motherboards and adapter cards in detailed and easily available technical reference manuals. These
manuals even included fully commented source code listings for the ROM BIOS code. I have several of
these early IBM manuals and still refer to them for specific component-level PC design information.
In fact, I highly recommend these original manuals to anybody who wants to delve deeply into PC
hardware design. Although they are long out of print, they do turn up in the used book market and
online auction sites such as eBay.
The difficult part of copying the IBM PC was the software, which is protected by copyright law. Both
Compaq and Phoenix Software (today known as Phoenix Technologies) were among the first to
develop a legal way around this problem, which enabled them to functionally duplicate (but not
exactly copy) software such as the BIOS. The BIOS is defined as the core set of control software that
drives the hardware devices in the system directly. These types of programs are normally called device
drivers, so in essence, the BIOS is a collection of all the core device drivers used to operate and control
the system hardware. The operating system (such as DOS or Windows) uses the drivers in the BIOS to
control and communicate with the various hardware and peripherals in the system.
◊◊
See Chapter 5, “BIOS,” p. 251.
22
Chapter 2
PC Components, Features, and System Design
The method Compaq and Phoenix used to legally duplicate the IBM PC BIOS was an ingenious form
of reverse-engineering. They used two groups of software engineers, the second of which were specially screened to consist only of people who had never before seen or studied the IBM BIOS code.
The first group studied the IBM BIOS and wrote a detailed description of what it did. The second
group read the description written by the first group and set out to write from scratch a new BIOS
that did everything the first group had described. The result was a new BIOS written from scratch, and
although the resulting code was not identical to IBM’s, it had the same functionality.
This is called a “clean room” approach to reverse-engineering software, and if carefully conducted, it
can escape any legal attack. Because IBM’s original PC BIOS had a limited and yet well-defined set of
functions and was only 8,096 bytes long, duplicating it through the clean-room approach was not difficult. As the IBM BIOS evolved, keeping up with any changes IBM made was relatively easy.
Discounting the power-on self test (POST) and BIOS Setup (used for configuring the system) portion
of the BIOS, most motherboard BIOSs, even today, have only about 32KB to 128KB of active code,
and modern OSs ignore most of it anyway by loading code and drivers from disk. In essence, the
modern motherboard BIOS serves only to initialize the system and load the OS. Today, although some
PC manufacturers still write some of their own BIOS code, most source their BIOS from one of the
independent BIOS developers. Phoenix and American Megatrends (AMI) are the leading developers of
BIOS software for PC system and motherboard manufacturers. A third major producer of BIOS software, Award Software, is owned by Phoenix Technologies, which continues to sell Award BIOS–based
products.
After the motherboard hardware and BIOS of the IBM PC were duplicated, all that was necessary to
produce a fully IBM-compatible system was MS-DOS. Reverse-engineering DOS, even with the cleanroom approach, seemed to be a daunting task at the time, because DOS is much larger than the BIOS
and consists of many more programs and functions. Also, the OS has evolved and changed more
often than the BIOS, which by comparison has remained relatively constant. This means that the
only way to get DOS on an IBM compatible back in the early 1980s was to license it. This is where
Microsoft came in. Because IBM (who hired Microsoft to write DOS in the first place) did not ensure
that its license agreement with Microsoft was exclusive, Microsoft was free to sell the same DOS it
designed for IBM to anybody else who wanted it. With a licensed copy of MS-DOS, the last piece was
in place and the floodgates were open for IBM-compatible systems to be produced whether IBM liked
it or not.
Note
MS-DOS was eventually cloned, the first of which was DR-DOS, released by Digital Research (developers of CP/M) in
1988. By all rights, DR-DOS was more than just a clone; it had many features not found in MS-DOS at the time, inspiring
Microsoft to add similar features in future MS-DOS versions as well. In 1991, Novell acquired DR-DOS, followed by
Caldera in 1996 (who released a version of the source code under an open-source license), followed by Lineo in 1998,
and finally by DRDOS (www.drdos.com) in 2002.
Free and open-source DOS versions have been independently produced, upgraded, and maintained by the DRDOS/OpenDOS Enhancement Project (www.drdosprojects.de) as well as the FreeDOS Project (www.freedos.org).
Note
From 1996 to 1997, an effort was made by the more liberated thinkers at Apple to license its BIOS/OS combination,
and several Mac-compatible machines were developed, produced, and sold. Companies such as Sony, Power
Computing, Radius, and even Motorola invested millions of dollars in developing these systems, but shortly after these first
What Is a PC?
Chapter 2
23
Mac clones were sold, Apple canceled the licensing! By canceling these licenses, Apple virtually guaranteed that its systems would not be competitive with Windows-based PCs. Along with its smaller market share come much higher system
costs, fewer available software applications, and fewer options for hardware repair, replacement, and upgrades as compared to PCs. The proprietary form factors also ensure that major components such as motherboards, power supplies, and
cases are available only from Apple at very high prices, making out-of-warranty repair, replacement, and upgrades of
these components not cost effective.
Now that Apple has converted its Mac systems to PC architecture, the only difference between a Mac
and a PC is the OS they run, so a PC running OS X essentially becomes a Mac, whereas a Mac running
Windows becomes a PC. This means that the only thing keeping Mac systems unique is the ability to
run OS X. To this end, Apple includes code in OS X that checks for an Apple-specific security chip,
thus preventing OS X from running on non-Apple PCs. Although this does create an incentive to buy
Apple-brand PCs, it also overlooks the huge market for selling OS X to non-Apple PC users. For example, if Apple had sold OS X to PC users while Microsoft was delaying the release of Vista, OS X would
have taken a large amount of market share from Windows. However, despite Apple’s attempts to prevent OS X from running, the OSx86 Project (www.osx86project.org) has information showing how to
get OS X installed and running on standard PCs.
Who Controls PC Hardware?
Although it is clear that Microsoft has always had the majority control over PC software by virtue of
its control over the dominant PC OSs, what about the hardware? It is easy to see that IBM controlled
the PC hardware standard up through 1987. After all, IBM invented the core PC motherboard design;
the original expansion bus slot architecture (8/16-bit ISA bus); the ROM BIOS interface, serial and parallel port implementations; video card design through VGA and XGA standards; floppy and hard disk
interface and controller implementations; power supply designs; keyboard interfaces and designs; the
mouse interface; and even the physical shapes (form factors) of everything from the motherboard to
the expansion cards, power supplies, and system chassis.
But to me the real question is which company has been responsible for creating and inventing newer
and more recent PC hardware designs, interfaces, and standards? When I ask people that question, I
normally see some hesitation in their responses—some people say Microsoft (but it controls the software, not the hardware), and some say HP/Compaq or Dell, or they name a few other big-name system manufacturers. Some, however, surmise the correct answer—Intel.
I can see why many people don’t immediately realize this; I mean, how many people actually own an
Intel-brand PC? No, not just one that says Intel inside on it (which refers only to the system having an
Intel processor), but a system that was designed and built by, or even purchased through, Intel.
Believe it or not, many people today do have Intel PCs!
Certainly this does not mean that consumers have purchased their systems from Intel because Intel
does not sell complete PCs to end users. You can’t currently order a system from Intel, nor can you
purchase an Intel-brand system from somebody else. What I am talking about are the major components inside, including especially the motherboard as well as the core of the motherboard—the
chipset.
◊◊
See Chapter 4, “Motherboards and Buses,” p. 143.
◊◊
See “Chipsets,” p. 169 (Chapter 4).
24
Chapter 2
PC Components, Features, and System Design
How did Intel come to dominate the interior of our PCs? Intel has been the dominant PC processor
supplier since IBM chose the Intel 8088 CPU in the original IBM PC in 1981. By controlling the
processor, Intel naturally controlled the chips necessary to integrate its processors into system designs.
This naturally led Intel into the chipset business. It started its chipset business in 1989 with the 82350
Extended Industry Standard Architecture (EISA) chipset, and by 1993 it had become—along with the
debut of the Pentium processor—the largest-volume major motherboard chipset supplier. Now I imagine Intel sitting there, thinking that it makes the processor and all the other chips necessary to produce a motherboard, so why not just eliminate the middleman and make the entire motherboard,
too? The answer to this, and a real turning point in the industry, came about in 1994 when Intel
became the largest-volume motherboard manufacturer in the world. By 1997, Intel made more
motherboards than the next eight largest motherboard manufacturers combined, with sales of more
than 30 million boards worth more than $3.6 billion!
After an industry downturn in 2001, Intel concentrated on its core competency of chip making and
began using Chinese contract manufacturers such as Foxconn to make Intel-branded motherboards.
Since then, contract manufacturers such as Asus, Foxconn, ECS, MSI, and Gigabyte have essentially
taken over the market for motherboard manufacturing. Regardless of which company actually manufactures the boards, the main part of any motherboard is the chipset, which contains the majority of
the motherboard circuitry. These days about 80% of PCs on the market use Intel processors, and the
majority of those are plugged in to motherboards built using Intel chipsets.
Intel controls the PC hardware standard because it controls the PC motherboard and most of the
components on it. It not only makes the majority of motherboards being used in systems today, but it
also supplies the majority of processors and motherboard chipsets to other motherboard manufacturers.
Intel also has had a hand in setting several recent PC hardware standards, such as the following:
■ Universal serial bus (USB) for connecting peripheral devices.
■ Peripheral Component Interconnect (PCI) local bus interface.
■ Accelerated Graphics Port (AGP) interface for higher-performance video cards than could be
implemented via PCI.
■ PCI Express (originally known as 3GIO), the interface selected by the PCI Special Interest Group
(PCI SIG) to replace both PCI and AGP as the high-performance bus for PCs.
■ Industry-standard motherboard form factors such as ATX (including variations such as
microATX and FlexATX) and BTX (including variations such as microBTX, nanoBTX, and
picoBTX). ATX is still the most popular, and beginning in 1996–1997 it replaced the somewhat
long-in-the-tooth IBM-designed Baby-AT form factor, which had been used since the early
1980s.
■ Desktop Management Interface (DMI) for monitoring system hardware functions.
■ Dynamic Power Management Architecture (DPMA) and Advanced Power Management (APM)
standards for managing power use in the PC.
Intel dominates not only the PC, but the entire worldwide semiconductor industry. According to the
sales figures compiled by iSuppli, Intel has nearly twice the sales revenue of the next closest semiconductor company (Samsung) and more than six times that of competitor AMD (see Table 2.1).
What Is a PC?
Table 2.1
25
Chapter 2
Top 25 Semiconductor Companies Ranked by 2009 Semiconductor Sales
2009
Rank
Company
Name
2009
Revenue1
Percent
of Total
2008
Rank
2008
Revenue
Percent
Change
1
Intel Corporation
$32410
14.1%
1
$33767
–4.0%
2
Samsung Electronics
$17496
7.6%
3
Toshiba Semiconductors
$10319
4.5%
2
$16902
+3.5%
3
$11081
4
Texas Instruments
$9617
4.2%
–6.9%
4
$11068
–12.6%
5
STMicroelectronics
$8510
3.7%
5
$10325
–17.6%
6
Qualcomm
7
Hynix
$6409
2.8%
8
$6477
–1.1%
$6246
2.7%
9
$6023
+3.7%
8
AMD
9
Renesas Technology
$5207
2.3%
12
$5455
–4.6%
$5153
2.2%
6
$7017
–26.6%
10
Sony
$4468
1.9%
7
$6950
–35.7%
11
Infineon Technologies
$4456
1.9%
10
$5954
–25.2%
12
NEC Semiconductors
$4384
1.9%
11
$5826
–24.8%
13
Micron Technology
$4293
1.9%
16
$4435
–3.2%
14
Broadcom
$4278
1.9%
14
$4643
–7.9%
15
Elpida Memory
$3948
1.7%
19
$3599
+9.7%
16
MediaTek
$3551
1.5%
24
$2896
+22.6%
17
Freescale Semiconductor
$3402
1.5%
13
$4933
–31.5%
18
Panasonic Corporation
$3243
1.4%
15
$4473
–27.5%
19
NXP
$3240
1.4%
17
$4055
–20.1%
20
Sharp Electronics
$2977
1.3%
18
$3682
–17.5%
21
NVIDIA
$2826
1.2%
20
$3241
–12.8%
22
Rohm
$2586
1.1%
25
$3348
–22.8%
23
Fujitsu Microelectronics
$2574
1.1%
23
$2757
–13.6%
24
Marvell Technology Group
$2572
1.1%
22
$3059
–15.9%
25
IBM Microelectronics
$2253
1.0%
26
$2473
–8.9%
1. Ranking by revenue in millions of U.S. dollars.
As you can see by these figures, it is no wonder that a popular industry news website called The
Register (www.theregister.com) uses the term Chipzilla when referring to the industry giant.
White-Box Systems
Many of the top-selling system manufacturers do design and make their own motherboards, especially
for their higher-end systems. According to Computer Reseller News magazine, the top desktop systems
manufacturers for the last several years have consistently been names such as HP, Dell, and Lenovo
(formerly IBM). These companies both design and manufacture their own motherboards as well as
purchase existing boards from motherboard manufacturers. In rare cases, they even design their own
chips and chipset components for their own boards. Although sales are high for these individual companies, a large segment of the market is what those in the industry call the white-box systems.
26
Chapter 2
PC Components, Features, and System Design
White-box is the term used by the industry to refer to what would otherwise be called generic PCs—
that is, PCs assembled from a collection of industry-standard, commercially available components.
The white-box designation comes from the fact that historically most of the chassis used by this type
of system have been white (or ivory or beige).
The great thing about white-box systems is that they use industry-standard components that are
interchangeable. This interchangeability is the key to future upgrades and repairs because it ensures
that a plethora of replacement parts will be available to choose from and will be interchangeable. For
many years, I have recommended avoiding proprietary systems and recommended more industrystandard white-box systems instead.
Companies selling white-box systems do not usually manufacture the systems; they assemble them.
That is, they purchase commercially available motherboards, cases, power supplies, disk drives,
peripherals, and so on and assemble and market everything together as complete systems. Some companies such as HP and Dell manufacture some of their own systems as well as assemble some from
industry-standard parts. In particular, the HP Pavilion and Dell Dimension lines are composed largely
of mainstream systems made with mostly industry-standard parts. PC makers using mostly industrystandard parts also include high-end game system builders such as Alienware (owned by Dell). Other
examples include Gateway and eMachines (owned by Acer), whose PCs are also constructed using primarily industry-standard components. Note that there can be exceptions for all these systems; for
example, I know that some of the Dell Dimension XPS systems use proprietary parts such as power
supplies. I recommend avoiding such systems, due to future upgrade and repair hassles.
Others using industry-standard components include Acer, CyberPower, Micro Express, and Systemax,
but hundreds more could be listed. In overall total volume, this ends up being the largest segment of
the PC marketplace today. What is interesting about white-box systems is that, with few exceptions,
you and I can purchase the same motherboards and other components that any of the white-box
manufacturers can (although we would probably pay more than they do because of the volume discounts they receive). We can assemble a virtually identical white-box system from scratch ourselves,
but that is a story for Chapter 19, “Building or Upgrading Systems.”
PC Design Guides
For several years Intel and Microsoft released a series of documents called the “PC XX Design Guides”
(where XX designates the year) as a set of standard specifications to guide both hardware and software
developers creating products that work with Windows. The requirements in these guides were part of
Microsoft’s “Designed for Windows” logo requirement. In other words, if you produced either a hardware or software product and you wanted the official “Designed for Windows” logo to be on your
box, your product had to meet the PC XX minimum requirements.
Following are the documents that have been produced in this series:
■ “Hardware Design Guide for Microsoft Windows 95”
■ “Hardware Design Guide Supplement for PC 95”
■ “PC 97 Hardware Design Guide”
■ “PC 98 System Design Guide”
■ “PC 99 System Design Guide”
■ “PC 2000 System Design Guide”
■ “PC 2001 System Design Guide”
These documents are available for download from the Microsoft website (www.microsoft.com/whdc/
archive/pcguides.mspx).
System Types
Chapter 2
27
Note
These guides do not mean anything directly for the end user; instead, they were meant to be guides for PC manufacturers
to design and build their systems. In some ways, they were a market-control tool for Intel and Microsoft to further wield
their influence over PC hardware and software.
The “PC 2001 System Design Guide” is the most recent design guide produced by Microsoft and Intel
together. Since then these companies have produced individual whitepapers and other resources for
this purpose. For updated system-design information, see the following websites:
■ The Microsoft Windows Hardware Developer Central site at http://microsoft.com/whdc
■ The Intel Developer Center website at http://developer.intel.com
System Types
PCs can be broken down into many categories. I like to break them down in two ways: by the design
or width of the processor bus (often called the front side bus, or FSB) as well as by the width of the
internal registers, which dictates the type of software that can be run.
When a processor reads data, the data moves into the processor via the processor’s external data connection. Traditionally this connection has been a parallel bus; however, in newer chips it is a serialized point-to point link, transferring fewer bits at a time but at a much higher rate. Older designs
often had several components sharing the bus, whereas the newer point-to-point links are exclusively
between the processor and the chipset.
◊◊
See ““Data I/O Bus,” p. 42 (Chapter 3, “Processor Types and Specifications”).
Table 2.2 lists all the Intel and AMD x86 processors, their data bus widths, and their internal register
sizes.
Table 2.2
Widths
Intel and Intel-Compatible Processors and Their Data Bus/Register
Processor
Data Bus Width
Register Size
8088
8-bit
16-bit
8086
16-bit
16-bit
286
16-bit
16-bit
386SX
16-bit
32-bit
386DX/486/5x86
32-bit
32-bit
Intel/AMD x86 w/FSB
64-bit
32-bit
AMD x86 w/HyperTransport
16-bit
32-bit
AMD x86-64 w/HyperTransport
16-bit
64-bit
Intel x86-64 w/FSB
64-bit
64-bit
Intel x86-64 w/QPI
20-bit
64-bit
Intel x86-64 w/DMI
4-bit
64-bit
FSB = Front Side Bus (parallel bus)
HT = HyperTransport (serial point-to-point)
QPI = QuickPath Interconnect (serial point-to-point)
DMI= Direct Media Interface (serial point-to-point)
28
Chapter 2
PC Components, Features, and System Design
A common confusion arises in discussions of processor “widths.” Some people take the width to refer
to how many bits of data can be read or written at a time, whereas others refer to the size of the internal registers, which control how much data can be operated on at a time. Although many processors
have had matching data bus widths and internal register sizes, they are not always the same, which
can lead to more confusion. For example, most Pentium processors have 64-bit data bus widths and
yet include internal registers that are only 32 bits wide. The newer AMD and Intel processors with
x86-64 architecture have 64-bit internal registers and can run in both 32-bit and 64-bit modes. Thus,
from a software point of view, there are PC processors capable of running 16-bit, 32-bit, and 64-bit
instructions. For backward compatibility, those having 64-bit registers can also run 32-bit and 16-bit
instructions, and those with 32-bit registers can run 16-bit instructions. In any case, remember that
bus widths and register sizes are completely unrelated. Also note that most newer processors use serial
buses which are narrow, but also very fast.
◊◊
See “Internal Registers (Internal Data Bus),” p. 44 (Chapter 3).
◊◊
See “Processor Specifications,” p. 37 (Chapter 3).
System Components
A modern PC is both simple and complicated. It is simple in the sense that over the years, many of
the components used to construct a system have become integrated with other components into
fewer and fewer actual parts. It is complicated in the sense that each part in a modern system performs many more functions than did the same types of parts in older systems.
This section briefly examines all the components and peripherals in a modern PC system. Each item
is discussed further in later chapters.
The components and peripherals necessary to assemble a basic modern PC system are listed in
Table 2.3.
Table 2.3 Basic PC Components
Component
Description
Motherboard
The motherboard is the core of the system. It really is the PC; everything else is
connected to it, and it controls everything in the system. Motherboards are covered in detail in Chapter 4.
Processor
The processor is often thought of as the “engine” or “brain” of the computer. It’s
also called the CPU (central processing unit). Processors are covered in detail in
Chapter 3.
Memory (RAM)
The system memory is often called RAM (for random access memory). This is the
primary working memory that holds all the programs and data the processor is
using at a given time. Memory is discussed in Chapter 6, “Memory.”
Case/chassis
The case is the frame or chassis that houses the motherboard, power supply, disk
drives, adapter cards, and any other physical components in the system. The
case is covered in detail in Chapter 18, “Power Supplies.”
Power supply
The power supply feeds electrical power to the internal components in the PC.
The power supply is covered in detail in Chapter 18.
Hard drive
The hard disk is the primary high-capacity storage media for the system. Hard
disk drives are also discussed in Chapter 9, “Hard Disk Storage.”
System Components
Table 2.3
Chapter 2
29
Continued
Component
Description
Optical drive
CD (compact disc), DVD (digital versatile disc), and BD (Blu-ray disc) drives are relatively
high-capacity, removable-media, optical drives; most newer systems include drives featuring write/rewrite capability. These drives are covered in detail in Chapter 11, “Optical
Storage.”
Keyboard
The keyboard is the primary device on a PC that is used by a human to communicate
with and control a system. Keyboards are covered in Chapter 15, “Input Devices.”
Mouse
Although many types of pointing devices are on the market today, the first and most popular device for this purpose is the mouse. The mouse and other pointing devices are discussed in Chapter 15.
Video card*
The video card controls the information you see on the monitor. Video cards are covered
in detail in Chapter 12, “Video Hardware.”
Monitor
The monitor or display shows information and is controlled by the video card. Monitors
are covered in Chapter 13, “Audio Hardware.”
Sound card*
A sound card enables the PC to generate complex sounds. Sound cards and speakers are
discussed in detail in Chapter 13.
Network/modem*
Most PCs ship with a wired or wireless network interface and possibly a modem. Network
cards are covered in Chapter 17, “Local Area Networking.” Modems are covered in
Chapter 16, “Internet Connectivity.”
Components marked with an asterisk (*) may be integrated into the motherboard on many recent systems, particularly entry-level systems.
This page intentionally left blank
Chapter
3
Processor Types and
Specifications
Microprocessor History
The brain or engine of the PC is the processor—sometimes called microprocessor or central processing
unit (CPU). The CPU performs the system’s calculating and processing. The processor is one of the
two most expensive components in the system (the other being the video card). In higher-end systems, the processor can cost up to four or more times more than the motherboard it plugs into.
Intel is generally credited with creating the first microprocessor in 1971 with the introduction of a
chip called the 4004. Today Intel still has control over the processor market, at least for PC systems,
although AMD has garnered a respectable market share. For the most part, PC-compatible systems
use either Intel processors or Intel-compatible processors from AMD.
It is interesting to note that the microprocessor had existed for only 10 years prior to the creation
of the PC! Intel released the first microprocessor in 1971; IBM created the PC in 1981. Nearly three
decades later, we are still using systems based more or less on the design of that first PC. The
processors powering our PCs today are still backward compatible in many ways with the Intel 8088
that IBM selected for the first PC in 1981.
The First Microprocessor
Intel was founded on July 18, 1968 (as N M Electronics) by two ex-Fairchild engineers, Robert
Noyce and Gordon Moore. Almost immediately, they changed the company name to Intel and were
joined by cofounder Andrew Grove. They had a specific goal: to make semiconductor memory practical and affordable. This was not a given at the time, considering that silicon chip–based memory
was at least 100 times more expensive than the magnetic core memory commonly used in those
days. At the time, semiconductor memory was going for about a dollar a bit, whereas core memory
was about a penny a bit. Noyce said, “All we had to do was reduce the cost by a factor of a hundred, then we’d have the market; and that’s basically what we did.”
32
Chapter 3
Processor Types and Specifications
By 1970, Intel was known as a successful memory chip company, having introduced a 1Kb memory
chip, much larger than anything else available at the time. (1Kb equals 1,024 bits, and a byte equals 8
bits. This chip, therefore, stored only 128 bytes—not much by today’s standards.) Known as the 1103
dynamic random access memory (DRAM), it became the world’s largest-selling semiconductor device
by the end of the following year. By this time, Intel had also grown from the core founders and a
handful of others to more than 100 employees.
Because of Intel’s success in memory chip manufacturing and design, Japanese manufacturer Busicom
asked Intel to design a set of chips for a family of high-performance programmable calculators. At the
time, all logic chips were custom-designed for each application or product. Because most chips had to
be custom-designed specific to a particular application, no one chip could have widespread usage.
Busicom’s original design for its calculator called for at least 12 custom chips. Intel engineer Ted Hoff
rejected the unwieldy proposal and instead proposed a single-chip, general-purpose logic device that
retrieved its application instructions from semiconductor memory. As the core of a four-chip set
including read-only memory (ROM), random access memory (RAM), input/output (I/O) and the 4004
processor, a program could control the processor and essentially tailor its function to the task at hand.
The chip was generic in nature, meaning it could function in designs other than calculators. Previous
chip designs were hard-wired for one purpose, with built-in instructions; this chip would read a variable set of instructions from memory, which would control the function of the chip. The idea was to
design, on a single chip, almost an entire computing device that could perform various functions,
depending on which instructions it was given.
In April 1970, Intel hired Frederico Faggin to design and create the 4004 logic based on Hoff’s proposal. Like the Intel founders, Faggin came from Fairchild Semiconductor, where he had developed
the silicon gate technology that would prove essential to good microprocessor design. During the initial logic design and layout process, Faggin had help from Masatoshi Shima, the engineer at Busicom
responsible for the calculator design. Shima worked with Faggin until October 1970, after which he
returned to Busicom. Faggin received the first finished batch of 4004 chips at closing time one day in
January 1971, working alone until early the next morning testing the chip before declaring, “It
works!” The 4000 chip family was completed by March 1971 and put into production by June 1971. It
is interesting to note that Faggin actually signed the processor die with his initials (F.F.), a tradition
that others often carried out in subsequent chip designs.
There was one problem with the new chip: Busicom owned the rights to it. Faggin knew that the
product had almost limitless application, bringing intelligence to a host of “dumb” machines. He
urged Intel to repurchase the rights to the product. Although Intel founders Gordon Moore and
Robert Noyce championed the new chip, others within the company were concerned that the product
would distract Intel from its main focus: making memory. They were finally convinced by the fact
that every four-chip microcomputer set included two memory chips. As the director of marketing at
the time recalled, “Originally, I think we saw it as a way to sell more memories, and we were willing
to make the investment on that basis.”
Intel offered to return Busicom’s $60,000 investment in exchange for the rights to the product.
Struggling with financial troubles, the Japanese company agreed. Nobody in the industry at the time,
even Intel, realized the significance of this deal, which paved the way for Intel’s future in processors.
The result was the November 15, 1971 introduction of the 4-bit Intel 4004 CPU as part of the MCS-4
microcomputer set. The 4004 ran at a maximum clock speed of 740KHz (740,000 cycles per second, or
nearly 3/4 of a megahertz), contained 2,300 transistors in an area of only 12 sq. mm
(3.5mm×3.5mm), and was built on a 10-micron process, where each transistor was spaced about 10
microns (millionths of a meter) apart. Data was transferred 4 bits at a time, and the maximum
addressable memory was only 640 bytes. The chip cost about $200 and delivered about as much computing power as ENIAC, one of the first electronic computers. By comparison, ENIAC relied on 18,000
vacuum tubes packed into 3,000 cubic feet (85 cubic meters) when it was built in 1946.
Microprocessor History
Chapter 3
33
The 4004 was designed for use in a calculator but proved to be useful for many other functions
because of its inherent programmability. For example, the 4004 was used in traffic light controllers,
blood analyzers, and even in the NASA Pioneer 10 deep-space probe. You can see more information
about the legendary 4004 processor at www.intel4004.com and www.4004.com.
In April 1972, Intel released the 8008 processor, which originally ran at a clock speed of 500KHz
(0.5MHz). The 8008 processor contained 3,500 transistors and was built on the same 10-micron
process as the previous processor. The big change in the 8008 was that it had an 8-bit data bus, which
meant it could move data 8 bits at a time—twice as much as the previous chip. It could also address
more memory, up to 16KB. This chip was primarily used in dumb terminals and general-purpose calculators.
The next chip in the lineup was the 8080, introduced in April 1974. The 8080 was conceived by
Frederico Faggin and designed by Masatoshi Shima (former Busicom engineer) under Faggin’s supervision. Running at a clock rate of 2MHz, the 8080 processor had 10 times the performance of the 8008.
The 8080 chip contained 6,000 transistors and was built on a 6-micron process. Similar to the previous chip, the 8080 had an 8-bit data bus, so it could transfer 8 bits of data at a time. The 8080 could
address up to 64KB of memory, which was significantly more than the previous chip.
The 8080 helped start the PC revolution because it was the processor chip used in what is generally
regarded as the first personal computer, the Altair 8800. The CP/M operating system (OS) was written
for the 8080 chip, and the newly founded Microsoft delivered its first product: Microsoft BASIC for
the Altair. These initial tools provided the foundation for a revolution in software because thousands
of programs were written to run on this platform.
In fact, the 8080 became so popular that it was cloned. Wanting to focus on processors, Frederico
Faggin left Intel in 1974 to found Zilog and create a “Super-80” chip, a high-performance, 8080compatible processor. Masatoshi Shima joined Zilog in April 1975 to help design what became known
as the Z80 CPU. The Z80 was released in July 1976 and became one of the most successful processors
in history. In fact, it is still being manufactured and sold today. The Z80 was not pin compatible with
the 8080, but instead combined functions such as the memory interface and RAM refresh circuitry,
which enabled cheaper and simpler systems to be designed. The Z80 incorporated a superset of 8080
instructions, meaning it could run all 8080 programs. It also included new instructions and new internal registers; therefore, whereas 8080 software would run on the Z80, software designed for the Z80
would not necessarily run on the older 8080. The Z80 ran initially at 2MHz (later versions ran up to
20MHz), contained 8,500 transistors, and could access 64KB of memory.
RadioShack selected the Z80 for the TRS-80 Model 1, its first PC. The chip also was the first to be used
by many pioneering personal computer systems, including the Osborne and Kaypro machines. Other
companies followed, and soon the Z80 was the standard processor for systems running the CP/M OS
and the popular software of the day.
Intel released the 8085, its follow-up to the 8080, in March 1976. The 8085 ran at 5MHz and contained 6,500 transistors. It was built on a 3-micron process and incorporated an 8-bit data bus. Even
though it predated the Z80 by several months, it never achieved the popularity of the Z80 in personal
computer systems. It was, however, used in the IBM System/23 Datamaster, which was the immediate
predecessor to the original PC at IBM. The 8085 became most popular as an embedded controller,
finding use in scales and other computerized equipment.
Along different architectural lines, MOS Technologies introduced the 6502 in 1976. Several exMotorola engineers who had worked on Motorola’s first processor, the 6800, designed this chip. The
6502 was an 8-bit processor like the 8080, but it sold for around $25, whereas the 8080 cost about
$300 when it was introduced. The price appealed to Steve Wozniak, who placed the chip in his Apple
I and Apple ][/][+ designs. The chip was also used in systems by Commodore and other system manufacturers. The 6502 and its successors were used in game consoles, including the original Nintendo
34
Chapter 3
Processor Types and Specifications
Entertainment System (NES), among others. Motorola went on to create the 68000 series, which
became the basis for the original line of Apple Macintosh computers. The second-generation Macs
used the PowerPC chip, also by Motorola and a successor to the 68000 series. Of course, the current
Macs have adopted PC architecture, using the same processors, chipsets, and other components as
PCs.
In the early 1980s, I had a system containing both a MOS Technologies 6502 and a Zilog Z80. It was a
1MHz (yes, that’s one megahertz!) 6502-based Apple ][+ system with a Microsoft Softcard (Z80 card)
plugged into one of the slots. The Softcard contained a 2MHz Z80 processor, which enabled me to run
both Apple and CP/M software on the system.
All these previous chips set the stage for the first PC processors. Intel introduced the 8086 in June
1978. The 8086 chip brought with it the original x86 instruction set that is still present in current
x86-compatible chips such as the Core i Series and AMD Phenom II. However, it was a reduced-feature
version of the 8086, the Intel 8088, that became the processor used by the first IBM PC.
To learn more about the 8086 and 8088, see “P1 (086) Processors,” later in this chapter.
PC Processor Evolution
Since the first PC came out in 1981, PC processor evolution has concentrated on four main areas:
■ Increasing the transistor count and density
■ Increasing the clock cycling speeds
■ Increasing the size of internal registers (bits)
■ Increasing the number of cores in a single chip
Intel introduced the 286 chip in 1982. With 134,000 transistors, it provided about three times the
performance of other 16-bit processors of the time. Featuring on-chip memory management, the 286
also offered software compatibility with its predecessors. This revolutionary chip was first used in
IBM’s benchmark PC-AT, the system upon which all modern PCs are based.
In 1985 came the Intel 386 processor. With a new 32-bit architecture and 275,000 transistors, the chip
could perform more than five million instructions per second (MIPS). Compaq’s Deskpro 386 was the
first PC based on the new microprocessor.
Next out of the gate was the Intel 486 processor in 1989. The 486 had 1.2 million transistors and the
first built-in math coprocessor. It was some 50 times faster than the original 4004, equaling the performance of some mainframe computers.
Then, in 1993, Intel introduced the first P5 family (586) processor, called the Pentium, setting new
performance standards with several times the performance of the previous 486 processor. The
Pentium processor used 3.1 million transistors to perform up to 90 MIPS—now up to about 1,500
times the speed of the original 4004.
Note
Intel’s change from using numbers (386/486) to names (Pentium/Pentium Pro) for its processors was based on the fact
that it could not secure a registered trademark on a number and therefore could not prevent its competitors from using
those same numbers on clone chip designs.
Microprocessor History
Chapter 3
35
The first processor in the P6 (686) family, called the Pentium Pro processor, was introduced in 1995.
With 5.5 million transistors, it was the first to be packaged with a second die containing high-speed
L2 memory cache to accelerate performance.
Intel revised the original P6 (686/Pentium Pro) and introduced the Pentium II processor in May 1997.
Pentium II processors had 7.5 million transistors packed into a cartridge rather than a conventional
chip, allowing the L2 cache chips to be attached directly on the module. The Pentium II family was
augmented in April 1998, with both the low-cost Celeron processor for basic PCs and the high-end
Pentium II Xeon processor for servers and workstations. Intel followed with the Pentium III in 1999,
essentially a Pentium II with Streaming SIMD Extensions (SSE) added.
Around the time the Pentium was establishing its dominance, AMD acquired NexGen, which had
been working on its Nx686 processor. AMD incorporated that design along with a Pentium interface
into what would be called the AMD K6. The K6 was both hardware and software compatible with the
Pentium, meaning it plugged in to the same Socket 7 and could run the same programs. As Intel
dropped its Pentium in favor of the more expensive Pentium II and III, AMD continued making faster
versions of the K6 and made huge inroads in the low-end PC market.
In 1998, Intel became the first to integrate L2 cache directly on the processor die (running at the full
speed of the processor core), dramatically increasing performance. This was first done on the secondgeneration Celeron processor (based on the Pentium II core), as well as the Pentium IIPE (performanceenhanced) chip used only in laptop systems. The first high-end desktop PC chip with on-die full-core
speed L2 cache was the second-generation (Coppermine core) Pentium III introduced in late 1999.
After this, all major processor manufacturers began integrating L2 (and even L3) cache on the processor
die, a trend that continues today.
AMD introduced the Athlon in 1999 to compete with Intel head to head in the high-end desktop PC
market. The Athlon became successful, and it seemed for the first time that Intel had some real competition in the higher-end systems. In hindsight, the success of the Athlon might be easy to see, but
at the time it was introduced, its success was anything but assured. Unlike the previous K6 chips,
which were both hardware and software compatible with Intel processors, the Athlon was only software compatible and required a motherboard with an Athlon supporting chipset and processor socket.
The year 2000 saw a significant milestone when both Intel and AMD crossed the 1GHz barrier, a
speed that many thought could never be accomplished. In 2001, Intel introduced a Pentium 4 version
running at 2GHz, the first PC processor to achieve that speed. November 15, 2001 marked the 30th
anniversary of the microprocessor, and in those 30 years processor speed had increased more than
18,500 times (from 0.108MHz to 2GHz). AMD also introduced the Athlon XP, based on its newer
Palomino core, as well as the Athlon MP, designed for multiprocessor server systems.
In 2002, Intel released a Pentium 4 version running at 3.06GHz, the first PC processor to break the
3GHz barrier, and the first to feature Intel’s Hyper-Threading (HT) Technology, which turns the
processor into a virtual dual-processor configuration. By running two application threads at the same
time, HT-enabled processors can perform tasks at speeds 25%–40% faster than non-HT-enabled processors can. This encouraged programmers to write multithreaded applications, which would prepare
them for when true multicore processors would be released a few years later.
In 2003, AMD released the first 64-bit PC processor: the Athlon 64 (previously code-named
ClawHammer, or K8), which incorporated AMD-defined x86-64 64-bit extensions to the IA-32 architecture typified by the Athlon, Pentium 4, and earlier processors. That year Intel also released the
Pentium 4 Extreme Edition, the first consumer-level processor to incorporate L3 cache. The whopping
2MB of cache added greatly to the transistor count as well as performance. In 2004, Intel followed
AMD by adding the AMD-defined x86-64 extensions to the Pentium 4.
36
Chapter 3
Processor Types and Specifications
In 2005, both Intel and AMD released their first dual-core processors, basically integrating two processors into a single chip. Although boards supporting two or more processors had been commonly used
in network servers for many years prior, this brought dual-CPU capabilities in an affordable package
to standard PCs. Rather than attempting to increase clock rates, as has been done in the past, adding
processing power by integrating two or more processors into a single chip enables future processors to
perform more work with fewer bottlenecks and with a reduction in both power consumption and
heat production.
In 2006, Intel released a new processor family called the Core 2, based on an architecture that came
mostly from previous mobile Pentium M/Core duo processors. The Core 2 was released in a dual-core
version first, followed by a quad-core version (combining two dual-core die in a single package) later
in the year. In 2007, AMD released the Phenom, which was the first quad-core PC processor with all
four cores on a single die. In 2008, Intel released the Core i Series (Nehalem) processors, which are
single-die quad-core chips with HT (appearing as eight cores to the OS) that include integrated memory and optional video controllers. AMD also released its Phenom II series of multi-core (up to sixcore) processors with support for both DDR2 and DDR3 memory in 2008. In 2011, Intel released the
“Sandy Bridge” second generation of Core i-series processors, including four-core and six-core processors with HT Technology, supporting up to 12 execution threads. Some models include an on-die
video controller that permits dynamic switching of resources between GPU and CPU (TurboBoost 2.0),
depending on the type of processing being performed. In 2011, AMD introduced its Fusion processors,
which incorporate Radeon graphics, low power consumption, and acceleration for video, photo, and
web operations.
Note
Intel began to develop mobile versions of its processors in the early 1990s with the development of the 386 processor.
Both Intel and AMD have developed mobile versions of almost all of their processors.
Although a mobile processor may have the same code name, a similar model number, and be based on the same general architecture as its desktop counterpart, it might feature lower clock speeds, smaller cache sizes, and different implementations of some features. The processor features for a particular processor family discussed in this chapter apply to
desktop processors. For more information about mobile processors in a given processor family, see the Intel or AMD
websites.
16-Bit to 64-Bit Architecture Evolution
The first major change in processor architecture was the move from the 16-bit internal architecture of
the 286 and earlier processors to the 32-bit internal architecture of the 386 and later chips, which
Intel calls IA-32 (Intel Architecture, 32-bit). Intel’s 32-bit architecture dates to 1985. It took a full 10
years for both a partial 32-bit mainstream OS (Windows 95) as well as a full 32-bit OS requiring 32-bit
drivers (Windows NT) to surface, and it took another 6 years for the mainstream to shift to a fully 32bit environment for the OS and drivers (Windows XP). That’s a total of 16 years from the release of
32-bit computing hardware to the full adoption of 32-bit computing in the mainstream with supporting software. I’m sure you can appreciate that 16 years is a lifetime in technology.
Now we are near the end of another major architectural jump, as Intel, AMD, and Microsoft have
almost completely shifted from 32-bit to 64-bit architectures. In 2001, Intel had introduced the IA-64
(Intel Architecture, 64-bit) in the form of the Itanium and Itanium 2 processors, but this standard was
something completely new and not an extension of the existing 32-bit technology. IA-64 was
announced in 1994 as a CPU development project with Intel and HP (code-named Merced), and the
first technical details were made available in October 1997.
Processor Specifications
Chapter 3
37
The fact that the IA-64 architecture is not an extension of IA-32 but is instead a new and completely
different architecture was fine for non-PC environments such as servers (for which IA-64 was
designed), but the PC market has always hinged on backward compatibility. Even though emulating
IA-32 within IA-64 is possible, such emulation and support is slow.
With the door now open, AMD seized this opportunity to develop 64-bit extensions to IA-32, which it
calls AMD64 (originally known as x86-64). Intel eventually released its own set of 64-bit extensions,
which it calls EM64T or IA-32e mode. As it turns out, the Intel extensions are almost identical to the
AMD extensions, meaning they are software compatible. It seems for the first time that Intel has unarguably followed AMD’s lead in the development of PC architecture.
However, AMD and Intel’s 64-bit processor could only run in 32-bit mode on existing operating systems. To make 64-bit computing a reality, 64-bit OSs and 64-bit drivers are also needed. Microsoft
began providing trial versions of Windows XP Professional x64 Edition (which supports AMD64 and
EM64T) in April 2005, but it wasn’t until the release of Windows Vista x64 in 2007 that 64-bit computing would begin to go mainstream. Initially, the lack of 64-bit drivers was a problem, but by the
release of Windows 7 x64 in 2009, most device manufacturers were providing both 32-bit and 64-bit
drivers for virtually all new devices. Linux is also available in 64-bit versions, making the move to 64bit computing possible for non-Windows environments as well.
Another important development is the introduction of multicore processors from both Intel and AMD.
Current multicore desktop processors have up to six full CPU cores operating off of one CPU package—
in essence enabling a single processor to perform the work of multiple processors. Although multicore
processors don’t make games that use single execution threads play faster, multicore processors, like
multiple single-core processors, split up the workload caused by running multiple applications at the
same time. If you’ve ever tried to scan for malware while simultaneously checking email or running
another application, you’ve probably seen how running multiple applications can bring even the
fastest processor to its knees. With multicore processors available from both Intel and AMD, your ability to get more work done in less time by multitasking is greatly enhanced. Multicore processors also
support 64-bit extensions, enabling you to enjoy both multicore and 64-bit computing’s advantages.
PCs have certainly come a long way. The original 8088 processor used in the first PC contained 29,000
transistors and ran at 4.77MHz. Compare that to today’s chips: The AMD Phenom II x6 has an estimated 904 million transistors and runs at up to 3.3GHz or faster, and the six-core Intel Core i7 models
have around 1.17 million transistors and run at up to 3.4GHz or faster. As multicore processors with
large integrated caches continue to be used in designs, look for transistor counts and real-world performance to continue to increase well beyond a billion transistors. And the progress won’t stop there,
because according to Moore’s Law, processing speed and transistor counts are doubling every 1.5–2 years.
Processor Specifications
Many confusing specifications often are quoted in discussions of processors. The following sections
discuss some of these specifications, including the data bus, address bus, and speed. The next section
includes a table that lists the specifications of virtually all PC processors.
Processors can be identified by two main parameters: how wide they are and how fast they are. The
speed of a processor is a fairly simple concept. Speed is counted in megahertz (MHz) and gigahertz
(GHz), which means millions and billions, respectively, of cycles per second—and faster is better! The
width of a processor is a little more complicated to discuss because three main specifications in a
processor are expressed in width:
■ Data (I/O) bus (also called FSB or front side bus)
■ Address bus
■ Internal registers
38
Chapter 3
Processor Types and Specifications
Note that the processor data bus is also called the front side bus (FSB), processor side bus (PSB), or just
CPU bus. All these terms refer to the bus that is between the CPU and the main chipset component
(North Bridge or Memory Controller Hub). Intel uses the FSB or PSB terminology, whereas AMD uses
only FSB. I usually just like to say CPU bus in conversation or when speaking during my training seminars, because that is the least confusing of the terms while also being completely accurate.
The number of bits a processor is designated can be confusing. Most modern processors have 64-bit
(or wider) data buses; however, that does not mean they are classified as 64-bit processors. Processors
from the 386 through the Pentium 4 and Athlon XP are considered 32-bit processors because their
Table 3.1
Intel Processor Specifications
Processor
Cores
Process
(Micron)
Clock
Voltage
Registers
Data
Bus
Max.
Memory
8088
1
3.0
1x
5V
16-bit
8-bit
1MB
8086
1
3.0
1x
5V
16-bit
16-bit
1MB
286
1
1.5
1x
5V
16-bit
16-bit
16MB
386SX
1
1.5, 1.0
1x
5V
32-bit
16-bit
16MB
386SL
1
1.0
1x
3.3V
32-bit
16-bit
16MB
386DX
1
1.5, 1.0
1x
5V
32-bit
32-bit
4GB
486SX
1
1.0, 0.8
1x
5V
32-bit
32-bit
4GB
486SX2
1
0.8
2x
5V
32-bit
32-bit
4GB
487SX
1
1.0
1x
5V
32-bit
32-bit
4GB
486DX
1
1.0, 0.8
1x
5V
32-bit
32-bit
4GB
486SL
2
1
0.8
1x
3.3V
32-bit
32-bit
4GB
486DX2
1
0.8
2x
5V
32-bit
32-bit
4GB
486DX4
1
0.6
2x+
3.3V
32-bit
32-bit
4GB
486 Pentium OD
1
0.6
2.5x
5V
32-bit
32-bit
4GB
Pentium 60/66
1
0.8
1x
5V
32-bit
64-bit
4GB
Pentium 75-200
1
0.6, 0.35
1.5x+
3.5V
32-bit
64-bit
4GB
Pentium MMX
1
0.35, 0.25
1.5x+
2.8V
32-bit
64-bit
4GB
Pentium Pro
Pentium II (Klamath)
1
1
0.35
0.35
2x+
>2x
3.3V
2.8V
32-bit
32-bit
64-bit
64-bit
64GB
64GB
Pentium II (Deschutes)
1
0.35
>2x
2.0V
32-bit
64-bit
64GB
Pentium II PE (Dixon)
1
0.25
>2x
1.6V
32-bit
64-bit
64GB
Celeron (Covington)
1
0.25
>2x
2.8V
32-bit
64-bit
64GB
Celeron A (Mendocino)
1
0.25
>2x
2V
32-bit
64-bit
64GB
Celeron III (Coppermine)
Celeron III (Tualatin)
1
1
0.18
0.13
>2x
>2x
1.75V
1.5V
32-bit
32-bit
64-bit
64-bit
64GB
64GB
Pentium III (Katmai)
1
0.25
>2x
2V
32-bit
64-bit
64GB
Pentium III (Coppermine)
1
0.18
>2x
1.75V
32-bit
64-bit
64GB
Pentium III (Tualatin)
1
0.13
>2x
1.45V
32-bit
64-bit
64GB
Celeron 4 (Willamette)
1
0.18
>2x
1.75V
32-bit
64-bit
64GB
Pentium 4 (Willamette)
1
0.18
>2x
1.75V
32-bit
64-bit
64GB
Chapter 3
Processor Specifications
39
internal registers are 32 bits wide, although their data I/O buses are 64 bits wide and their address
buses are 36 bits wide (both wider than their predecessors, the Pentium and K6 processors). Processors
since the Intel Core 2 series and the AMD Athlon 64 are considered 64-bit processors because their
internal registers are 64 bits wide.
First, I’ll present some tables describing the differences in specifications between all the PC processors;
then the following sections will explain the specifications in more detail. Refer to these tables as you
read about the various processor specifications, and the information in the tables will become clearer.
Tables 3.1 and 3.2 list the most significant processors from Intel and AMD.
L1 Cache
L2 Cache
L3 Cache
L2/L3
Cache Speed
Multimedia
Instructions
Transistors
Introduced
—
—
—
—
—
29,000
June 1979
—
—
—
—
—
29,000
June 1978
—
—
—
—
—
134,000
Feb. 1982
—
—
—
Bus
—
275,000
June 1988
0KB1
—
—
Bus
—
855,000
Oct. 1990
—
—
—
Bus
—
275,000
Oct. 1985
8KB
—
—
Bus
—
1.185M
Apr. 1991
8KB
—
—
Bus
—
1.185M
Apr. 1994
8KB
—
—
Bus
—
1.2M
Apr. 1991
8KB
—
—
Bus
—
1.2M
Apr. 1989
8KB
—
—
Bus
—
1.4M
Nov. 1992
8KB
—
—
Bus
—
1.2M
Mar. 1992
16KB
—
—
Bus
—
1.6M
Feb. 1994
2x16KB
—
—
Bus
—
3.1M
Jan. 1995
2x8KB
—
—
Bus
—
3.1M
Mar. 1993
2x8KB
—
—
Bus
—
3.3M
Mar. 1994
2x16KB
—
—
Bus
MMX
4.5M
Jan. 1997
2x8KB
2x16KB
256KB, 512KB, 1MB
512KB
—
—
Core
1/2 core
—
MMX
5.5M
7.5M
Nov. 1995
May 1997
2x16KB
512KB
—
1/2 core
MMX
7.5M
May 1997
2x16KB
256KB
—
Core
MMX
27.4M
Jan. 1999
2x16KB
0KB
—
—
MMX
7.5M
Apr. 1998
2x16KB
128KB
—
Core
MMX
19M
Aug. 1998
2x16KB
2x16KB
128KB
256KB
—
—
Core
Core
SSE
SSE
28.1M
44M
Feb. 2000
Oct. 2001
2x16KB
512KB
—
1/2 core
SSE
9.5M
Feb. 1999
2x16KB
256KB
—
Core
SSE
28.1M
Oct. 1999
2x16KB
512KB
—
Core
SSE
44M
June 2001
2x16KB
128KB
—
Core
SSE2
42M
May 2002
>16KB
256KB
—
Core
SSE2
42M
Nov. 2000
40
Chapter 3
Table 3.1
Processor Types and Specifications
Continued
Processor
Cores
Process
(Micron)
Clock
Voltage
Registers
Data
Bus
Max.
Memory
Pentium 4A (Northwood)
1
0.13
>2x
1.5V
32-bit
64-bit
64GB
Pentium 4EE (Prestonia)
1
0.13
>2x
1.5V
32-bit
64-bit
64GB
Pentium 4E (Prescott)
1
0.09
>2x
1.4V
32-bit
64-bit
64GB
Celeron D (Prescott)
1
0.09
>2x
1.4V
64-bit
64-bit
1TB
Pentium D (Smithfield)
2
0.09
>2x
1.4V
64-bit
64-bit
1TB
Pentium D (Presler)
2
0.065
>2x
1.4V
64-bit
64-bit
1TB
Pentium M (Banias)
1
0.13
>2x
1.5V
32-bit
64-bit
64GB
Pentium M (Dothan)
1
0.09
>2x
1.3V
32-bit
64-bit
64GB
Core Duo (Yonah)
2
0.09
>2x
1.3V
32-bit
64-bit
64GB
Core 2 Duo (Conroe)
2
0.065
>2x
1.3V
64-bit
64-bit
1TB
Core 2 Quad (Kentsfield) 4
0.065
>2x
1.3V
64-bit
64-bit
1TB
Core 2 Duo (Wolfdale)
2
0.045
>2x
1.3V
64-bit
64-bit
1TB
Core 2 Quad (Yorkfield)
4
0.045
>2x
1.3V
64-bit
64-bit
1TB
Core i7 (Bloomfield)
4
0.045
>2x
1.4V
64-bit
64-bit
24GB
Core /i5/i7 (Lynnfield)
4
0.045
>2x
1.4V
64-bit
64-bit
16GB
Core i3/i5 (Clarkdale)
2
0.032
>2x
1.4V
64-bit
64-bit
16GB
Core i7 (Gulftown)
6
0.045
>2x
1.4V
64-bit
64-bit
24GB
Core i7 (Sandy Bridge)
4
0.032
>2x
1.4V
64-bit
64-bit
8-32GB
Core i5 (Sandy Bridge)
4
0.032
>2x
1.4V
64-bit
64-bit
32GB
Core i3/i5 (Sandy Bridge) 2
0.032
>2x
1.4V
64-bit
64-bit
8-32GB
*Dual-core and dual-core with HT Technology have lower counts.
1. The 386SL contains an integral-cache controller, but the cache memory must be provided outside the chip.
Table 3.2
AMD Processor Specifications
Processor
Cores
Process
(Micron)
Clock
Voltage
Registers
Data
Bus
Max.
Memory
AMD K5
1
0.35
1.5x+
3.5V
32-bit
64-bit
4GB
AMD K6
1
0.35
2.5x+
3.2V
32-bit
64-bit
4GB
AMD K6-2
1
0.25
2.5x+
2.4V
32-bit
64-bit
4GB
AMD K6-3
1
0.25
>2x
2.4V
32-bit
64-bit
4GB
AMD Athlon
1
0.25
>2x
1.8V
32-bit
64-bit
4GB
AMD Duron
1
0.18
>2x
1.8V
32-bit
64-bit
4GB
AMD Athlon (Thunderbird)
1
0.18
>2x
1.8V
32-bit
64-bit
4GB
AMD Athlon XP (Palomino)
1
0.18
>2x
1.8V
32-bit
64-bit
4GB
AMD Athlon XP
(Thoroughbred)
1
0.13
>2x
1.8V
32-bit
64-bit
4GB
AMD Athlon XP (Barton)
1
0.13
>2x
1.65V
32-bit
64-bit
4GB
41
Chapter 3
Processor Specifications
L1 Cache
L2 Cache
L3 Cache
L2/L3
Cache Speed
Multimedia
Instructions
Transistors
Introduced
>16KB
512KB
—
Core
SSE2
55M
Jan. 2002
>16KB
512KB
2MB
Core
SSE2
178M
Nov. 2003
>16KB
1MB
—
Core
SSE3
125M
Feb. 2004
>16KB
256KB
—
Core
SSE3
125M
June 2004
>32KB
1MB per core
—
Core
SSE3
230M
May 2005
>32KB
2MB per core
—
Core
SSE3
376M
Dec. 2005
>32KB
1MB
—
Core
SSE2
77M
Mar. 2003
>32KB
2MB
—
Core
SSE2
144M
May 2004
>64KB
1MB per core
—
Core
SSE3
151M
Jan. 2006
>64KB
2–4MBper core
—
Core
SSSE3
291M
July 2006
>64KB
4MB per core
—
Core
SSSE3
582M
Dec. 2006
>64KB
3–6MB per core
—
Core
SSSE4.1
410M
Jan. 2008
>64KB
2–6MB per core
—
Core
SSSE4.1
820M
Mar. 2008
>64KB
256KB per core
8MB
Core
SSE4.2
731M
Nov. ‘08
>64KB
256KB per core
8MB
Core
SSE4.2
774M
Sept. ‘09
>64KB
256KB per core
4MB
Core
SSE4.2
560M
Jan. ‘10
>64KB
256KB per core
12MB
Core
SSE4.2
1.17T
March ‘10
>64KB
256KB per core
8MB
Core
SSE4.2, AVX
995M
Jan. ‘11
>64KB
256KB per core
6MB
Core
SSE4.2, AVX
624M
Jan. ‘11
>64KB
256KB per core
3MB
Core
SSE4.2, AVX
504M
Jan. ‘11
2. Intel later marketed SL Enhanced versions of the SX, DX, and DX2 processors.
These processors were available in both 5V and 3.3V versions and included power management capabilities.
L1 Cache
L2 Cache
L3 Cache
L2/L3
Multimedia
Cache Speed Instructions
16+8KB
—
—
Bus
—
4.3M
March 1996
2x32KB
—
—
Bus
MMX
8.8M
Apr. 1997
2x32KB
—
—
Bus
3DNow!
9.3M
May 1998
2x32KB
256KB
—
Core
3DNow!
21.3M
Feb. 1999
2x64KB
512KB
—
1/2-1/3 core
Enh. 3DNow!
22M
June 1999
2x64KB
64KB
—
Core3
Enh. 3DNow!
25M
June 2000
2x64KB
256KB
—
Core
Enh. 3DNow!
37M
June 2000
2x64KB
256KB
—
Core
3DNow! Pro
37.5M
Oct. 2001
2x64KB
256KB
—
Core
3DNow! Pro
37.2M
June 2002
2x64KB
512KB
—
Core
3DNow! Pro
54.3M
Feb. 2003
Transistors
Introduced
42
Chapter 3
Table 3.2
Processor Types and Specifications
Continued
Processor
Cores
Process
(Micron)
Clock
Voltage
Registers
Data
Bus
Max.
Memory
Athlon 64 (ClawHammer/
Winchester)
1
0.13, 0.09
>2x
1.5V
64-bit
16-bit
1TB
Athlon 64 FX
(SledgeHammer)
1
0.13
>2x
1.5V
64-bit
16-bit
1TB
Athlon 64 X2
(Manchester)
2
0.09
>2x
1.4V
64-bit
16-bit
1TB
Athlon 64 X2 (Toledo)
2
0.09
>2x
1.4V
64-bit
16-bit
1TB
Athlon 64 X2 (Windsor)
2
0.09
>2x
1.4V
64-bit
16-bit
1TB
Athlon X2, 64 X2
(Brisbane)
2
0.065
>2x
1.35V
64-bit
16-bit
1TB
Phenom X3/X4
(Toliman/Agena)
3/4
0.065
>2x
1.4V
64-bit
16-bit
1TB
Athlon X2 (Kuma)
2
0.065
>2x
1.3V
64-bit
16-bit
1TB
Phenom II X2/X3/X4
(Callisto/Heka/Deneb)
2/3/4
0.045
>2x
1.4V
64-bit
16-bit
1TB
Athlon II X2 (Regor)
2
0.045
>2x
1.4V
64-bit
16-bit
16GB
Phenom II X6 (Thuban)
6
0.045
>2x
1.375-1.4V
64-bit
64-bit
1TB
Data I/O Bus
Two of the more important features of a processor are the speed and width of its external data bus.
These define the rate at which data can be moved into or out of the processor.
Data in a computer is sent as digital information in which certain voltages or voltage transitions
occurring within specific time intervals represent data as 1s and 0s. You can increase the amount of
data being sent (called bandwidth) by increasing either the cycling time or the number of bits being
sent at a time, or both. Over the years, processor data buses have gone from 8 bits wide to 64 bits
wide. The more wires you have, the more individual bits you can send in the same interval. All modern processors from the original Pentium and Athlon through the latest Core 2, Athlon 64 X2, and
even the Itanium and Itanium 2 have a 64-bit (8-byte)-wide data bus. Therefore, they can transfer 64
bits of data at a time to and from the motherboard chipset or system memory.
A good way to understand this flow of information is to consider a highway and the traffic it carries.
If a highway has only one lane for each direction of travel, only one car at a time can move in a certain direction. If you want to increase the traffic flow (move more cars in a given time), you can
either increase the speed of the cars (shortening the interval between them), add more lanes, or both.
As processors evolved, more lanes were added, up to a point. You can think of an 8-bit chip as being a
single-lane highway because 1 byte flows through at a time. (1 byte equals 8 individual bits.) The 16bit chip, with 2 bytes flowing at a time, resembles a two-lane highway. You might have four lanes in
each direction to move a large number of automobiles; this structure corresponds to a 32-bit data bus,
Processor Specifications
Chapter 3
43
L1 Cache
L2 Cache
L3 Cache
L2/L3
Multimedia
Cache Speed Instructions
Transistors
Introduced
2x64KB
1MB
—
Core
3DNow! Pro (SSE3
for 0.09 process)
105.9M
Sept. 2003
2x64KB
1MB
—
Core
3DNow! Pro
105.9M
Sept. 2003
2x64KB
per core
256KB/512KB
per core
—
Core
SSE3
154M
June 2005
2x64KB
per core
512KB/1MB
per core
—
Core
SSE3
233M
June 2005
2x64KB
per core
512KB/1MB
per core
—
Core
SSE3
233.2M
May 2005
2x64KB
per core
512KB
per core
—
Core
SSE3
154M
Dec. 2006
2x64KB
per core
512KB
per core
2MB
Core
SSE4a
450M
Nov. 2007
2x64KB
512KB
per core
MB
per core
Core
2
SSE4a
450M
Dec. 2008
2x64KB
per core
512KB
per core
6MB
Core
SSE4a
758M
Jan. 2009
2x64KB
per core
1MB per core
—
Core
SSE4a
234M
June 2009
>64KB
512KB per core
6GB
Core
SSE 4.2a
904M
Apr. ‘10
which has the capability to move 4 bytes of information at a time. Taking this further, a 64-bit data
bus is like having an eight-lane highway moving data in and out of the chip.
After 64-bit-wide buses were reached, chip designers found that they couldn’t increase speed further,
because it was too hard to synchronize all 64 bits. It was discovered that by going back to fewer lanes,
it was possible to increase the speed of the bits (that is, shorten the cycle time) such that even greater
bandwidths were possible. Because of this, many newer processors have only 4-bit or 16-bit-wide data
buses, yet they have higher bandwidths than the 64-bit buses they replaced.
Another improvement in newer processors is the use of multiple separate buses for different tasks.
Traditional processor design had all the data going through a single bus, whereas newer processors
have separate physical buses for data to and from the chipset, memory, and graphics card slot(s).
Address Bus
The address bus is the set of wires that carry the addressing information used to describe the memory
location to which the data is being sent or from which the data is being retrieved. As with the data
bus, each wire in an address bus carries a single bit of information. This single bit is a single digit in
the address. The more wires (digits) used in calculating these addresses, the greater the total number
of address locations. The size (or width) of the address bus indicates the maximum amount of RAM a
chip can address.
The highway analogy in the previous section, “Data I/O Bus,” can show how the address bus fits in. If
the data bus is the highway and the size of the data bus is equivalent to the number of lanes, the
44
Chapter 3
Processor Types and Specifications
address bus relates to the house number or street address. The size of the address bus is equivalent to
the number of digits in the house address number. For example, if you live on a street in which the
address is limited to a two-digit (base 10) number, no more than 100 distinct addresses (00–99) can
exist for that street (102). Add another digit, and the number of available addresses increases to 1,000
(000–999), or 103.
Computers use the binary (base 2) numbering system, so a two-digit number provides only four
unique addresses (00, 01, 10, and 11), calculated as 22. A three-digit number provides only eight
addresses (000—111), which is 23. For example, the 8086 and 8088 processors use a 20-bit address bus
that calculates a maximum of 220, or 1,048,576 bytes (1MB), of address locations. Table 3.3 describes
the memory-addressing capabilities of processors.
Table 3.3
Processor Physical Memory-Addressing Capabilities
Processor
Family
Address
Bus
Bytes
KiB
MiB
GiB
TiB
8088, 8086
20-bit
1,048,576
1,024
1
—
—
86, 386SX
24-bit
16,777,216
16,384
16
—
—
386DX, 486, Pentium,
K6, Athlon
32-bit
4,294,967,296
4,194,304
4,096
4
—
Pentium w/PAE
36-bit
68,719,476,736
67,108,864
65,536
64
—
64-bit AMD/Intel
40-bit
1,099,511,627,776
1,073,741,824
1,048,576
1,024
1
PAE = Physical Address Extension (supported by Server OS only)
KiB = Kibibytes
MiB = Mebibytes
TiB = Tebibytes
See http://physics.nist.gov/cuu/Units/binary.html for more information on prefixes for binary multiples.
The data bus and address bus are independent, and chip designers can use whatever size they want for
each. Usually, however, chips with larger data buses have larger address buses. The sizes of the buses
can provide important information about a chip’s relative power, measured in two important ways.
The size of the data bus indicates the chip’s information-moving capability, and the size of the
address bus tells you how much memory the chip can handle.
Internal Registers (Internal Data Bus)
The size of the internal registers indicates how much information the processor can operate on at one
time and how it moves data around internally within the chip. This is sometimes also referred to as
the internal data bus. A register is a holding cell within the processor; for example, the processor can
add numbers in two different registers, storing the result in a third register. The register size determines the size of data on which the processor can operate. The register size also describes the type of
software or commands and instructions a chip can run. That is, processors with 32-bit internal registers can run 32-bit instructions that are processing 32-bit chunks of data, but processors with 16-bit
registers can’t. Processors from the 386 to the Pentium 4 use 32-bit internal registers and can run
essentially the same 32-bit OSs and software. The Core 2, Athlon 64, and newer processors have both
32-bit and 64-bit internal registers, which can run existing 32-bit OSs and applications as well as
newer 64-bit versions.
Processor Specifications
45
Chapter 3
Processor Modes
All Intel and Intel-compatible processors from the 386 on up can run in several modes. Processor
modes refer to the various operating environments and affect the instructions and capabilities of the
chip. The processor mode controls how the processor sees and manages the system memory and the
tasks that use it.
Table 3.4 summarizes the processor modes and submodes.
Table 3.4
Processor Modes
Submode
OS
Required
Software
Memory
Address Size
Default
Operand Size
Register
Width
Real
—
16-bit
16-bit
24-bit
16-bit
16-bit
IA-32
Protected
32-bit
32-bit
32-bit
32-bit
32/16-bit
Virtual real
32-bit
16-bit
24-bit
16-bit
16-bit
64-bit
Compatibility
64-bit
64-bit
64-bit
32-bit
64-bit
32-bit
32-bit
32-bit
64-bit
32/16-bit
Mode
IA-32e
IA-32e (64-bit extension mode) is also called x64, AMD64, x86-64, or EM64T
Real Mode
Real mode is sometimes called 8086 mode because it is based on the 8086 and 8088 processors. The
original IBM PC included an 8088 processor that could execute 16-bit instructions using 16-bit internal registers and could address only 1MB of memory using 20 address lines. All original PC software
was created to work with this chip and was designed around the 16-bit instruction set and 1MB memory model. For example, DOS and all DOS software, Windows 1.x through 3.x, and all Windows 1.x
through 3.x applications are written using 16-bit instructions. These 16-bit OSs and applications are
designed to run on an original 8088 processor.
√√
See “Internal Registers (Internal Data Bus),” p. 44 (this chapter).
√√
See “Address Bus,” p. 43 (this chapter).
Later processors such as the 286 could run the same 16-bit instructions as the original 8088, but
much faster. In other words, the 286 was fully compatible with the original 8088 and could run all
16-bit software just the same as an 8088, but, of course, that software would run faster. The 16-bit
instruction mode of the 8088 and 286 processors has become known as real mode. All software running in real mode must use only 16-bit instructions and live within the 20-bit (1MB) memory architecture it supports. Software of this type is usually single-tasking—that is, only one program can run
at a time. No built-in protection exists to keep one program from overwriting another program or
even the OS in memory. Therefore, if more than one program is running, one of them could bring
the entire system to a crashing halt.
IA-32 Mode (32-Bit)
Then came the 386, which was the PC industry’s first 32-bit processor. This chip could run an entirely
new 32-bit instruction set. To take full advantage of the 32-bit instruction set, a 32-bit OS and a 32-bit
application were required. This new 32-bit mode was referred to as protected mode, which alludes to
the fact that software programs running in that mode are protected from overwriting one another in
memory. Such protection makes the system much more crash-proof because an errant program can’t
easily damage other programs or the OS. In addition, a crashed program can be terminated while the
rest of the system continues to run unaffected.
46
Chapter 3
Processor Types and Specifications
Knowing that new OSs and applications—which take advantage of the 32-bit protected mode—would
take some time to develop, Intel wisely built a backward-compatible real mode into the 386. That
enabled it to run unmodified 16-bit OSs and applications. It ran them quite well—much more quickly
than any previous chip. For most people, that was enough. They did not necessarily want new 32-bit
software; they just wanted their existing 16-bit software to run more quickly. Unfortunately, that
meant the chip was never running in the 32-bit protected mode, and all the features of that capability
were being ignored.
When a 386 or later processor is running DOS (real mode), it acts like a “Turbo 8088,” which means
the processor has the advantage of speed in running any 16-bit programs; it otherwise can use only
the 16-bit instructions and access memory within the same 1MB memory map of the original 8088.
Therefore, if you have a system with a current 32-bit or 64-bit processor running Windows 3.x or
DOS, you are effectively using only the first megabyte of memory, leaving all the other RAM largely
unused!
New OSs and applications that ran in the 32-bit protected mode of the modern processors were
needed. Being stubborn, we as users resisted all the initial attempts at being switched over to a 32-bit
environment. People are resistant to change and are sometimes more content with running older software more quickly than with adopting new software with new features. I’ll be the first one to admit
that I was (and still am) one of those stubborn users myself!
Because of this resistance, true 32-bit OSs took quite a while before getting a mainstream share in the
PC marketplace. Windows XP was the first true 32-bit OS that became a true mainstream product, and
that is primarily because Microsoft coerced us in that direction with Windows 9x/Me (which are
mixed 16-bit/32-bit systems). Windows 3.x was the last 16-bit OS, which some did not really consider
a complete OS because it ran on top of DOS.
IA-32 Virtual Real Mode
The key to the backward compatibility of the Windows 32-bit environment is the third mode in the
processor: virtual real mode. Virtual real is essentially a virtual real mode 16-bit environment that runs
inside 32-bit protected mode. When you run a DOS prompt window inside Windows, you have created a virtual real mode session. Because protected mode enables true multitasking, you can actually
have several real mode sessions running, each with its own software running on a virtual PC. These
can all run simultaneously, even while other 32-bit applications are running.
Note that any program running in a virtual real mode window can access up to only 1MB of memory,
which that program will believe is the first and only megabyte of memory in the system. In other
words, if you run a DOS application in a virtual real window, it will have a 640KB limitation on memory usage. That is because there is only 1MB of total RAM in a 16-bit environment, and the upper
384KB is reserved for system use. The virtual real window fully emulates an 8088 environment, so
that aside from speed, the software runs as if it were on an original real mode–only PC. Each virtual
machine gets its own 1MB address space, an image of the real hardware basic input/output system
(BIOS) routines, and emulation of all other registers and features found in real mode.
Virtual real mode is used when you use a DOS window to run a DOS or Windows 3.x 16-bit program.
When you start a DOS application, Windows creates a virtual DOS machine under which it can run.
One interesting thing to note is that all Intel and Intel-compatible (such as AMD and VIA/Cyrix)
processors power up in real mode. If you load a 32-bit OS, it automatically switches the processor into
32-bit mode and takes control from there.
It’s also important to note that some 16-bit (DOS and Windows 3.x) applications misbehave in a 32bit environment, which means they do things that even virtual real mode does not support.
Processor Specifications
Chapter 3
47
Diagnostics software is a perfect example of this. Such software does not run properly in a real mode
(virtual real) window under Windows. In that case, you can still run your modern system in the original no-frills real mode by booting to a DOS or Windows 9x/Me startup floppy.
Although 16-bit DOS and “standard” DOS applications use real mode, special programs are available
that “extend” DOS and allow access to extended memory (over 1MB). These are sometimes called DOS
extenders and usually are included as part of any DOS or Windows 3.x software that uses them. The
protocol that describes how to make DOS work in protected mode is called DOS protected mode interface (DPMI).
Windows 3.x used DPMI to access extended memory for use with Windows 3.x applications. It
allowed these programs to use more memory even though they were still 16-bit programs. DOS extenders are especially popular in DOS games because they enable them to access much more of the system memory than the standard 1MB that most real mode programs can address. These DOS extenders
work by switching the processor in and out of real mode. In the case of those that run under
Windows, they use the DPMI interface built into Windows, enabling them to share a portion of the
system’s extended memory.
Another exception in real mode is that the first 64KB of extended memory is actually accessible to the
PC in real mode, despite the fact that it’s not supposed to be possible. This is the result of a bug in the
original IBM AT with respect to the 21st memory address line, known as A20 (A0 is the first address
line). By manipulating the A20 line, real mode software can gain access to the first 64KB of extended
memory—the first 64KB of memory past the first megabyte. This area of memory is called the high
memory area (HMA).
IA-32e 64-Bit Extension Mode (x64, AMD64, x86-64, EM64T)
64-bit extension mode is an enhancement to the IA-32 architecture originally designed by AMD and
later adopted by Intel.
In 2003, AMD introduced the first 64-bit processor for x86-compatible desktop computers—the
Athlon 64—followed by its first 64-bit server processor, the Opteron. In 2004, Intel introduced a series
of 64-bit-enabled versions of its Pentium 4 desktop processor. The years that followed saw both companies introducing more and more processors with 64-bit capabilities.
Processors with 64-bit extension technology can run in real (8086) mode, IA-32 mode, or IA-32e
mode. IA-32 mode enables the processor to run in protected mode and virtual real mode. IA-32e
mode allows the processor to run in 64-bit mode and compatibility mode, which means you can run
both 64-bit and 32-bit applications simultaneously. IA-32e mode includes two submodes:
■ 64-bit mode—Enables a 64-bit OS to run 64-bit applications
■ Compatibility mode—Enables a 64-bit OS to run most existing 32-bit software
IA-32e 64-bit mode is enabled by loading a 64-bit OS and is used by 64-bit applications. In the 64-bit
submode, the following new features are available:
■ 64-bit linear memory addressing
■ Physical memory support beyond 4GB (limited by the specific processor)
■ Eight new general-purpose registers (GPRs)
■ Eight new registers for streaming SIMD extensions (MMX, SSE, SSE2, and SSE3)
■ 64-bit-wide GPRs and instruction pointers
48
Chapter 3
Processor Types and Specifications
IE-32e compatibility mode enables 32-bit and 16-bit applications to run under a 64-bit OS.
Unfortunately, legacy 16-bit programs that run in virtual real mode (that is, DOS programs) are not
supported and will not run, which is likely to be the biggest problem for many users. Similar to 64-bit
mode, compatibility mode is enabled by the OS on an individual code basis, which means 64-bit
applications running in 64-bit mode can operate simultaneously with 32-bit applications running in
compatibility mode.
What we need to make all this work is a 64-bit OS and, more importantly, 64-bit drivers for all our
hardware to work under that OS. Although Microsoft released a 64-bit version of Windows XP, few
companies released 64-bit XP drivers. It wasn’t until Windows Vista and especially Windows 7 x64
versions were released that 64-bit drivers became plentiful enough that 64-bit hardware support was
considered mainstream.
Note that Microsoft uses the term x64 to refer to processors that support either AMD64 or EM64T
because AMD and Intel’s extensions to the standard IA32 architecture are practically identical and can
be supported with a single version of Windows.
Note
Early versions of EM64T-equipped processors from Intel lacked support for the LAHF and SAHF instructions used in the
AMD64 instruction set. However, Pentium 4 and Xeon DP processors using core steppings G1 and higher completely support these instructions; a BIOS update is also needed. Newer multicore processors with 64-bit support include these
instructions as well.
The physical memory limits for Windows XP and later 32-bit and 64-bit editions are shown in Table 3.5.
Table 3.5 Windows Physical Memory Limits
Windows Version
Memory Limit
(32-Bit)
Memory Limit
(64-Bit)
7 Professional/Ultimate
4GB
192GB
Vista Business/Ultimate
4GB
128GB
Vista/7 Home Premium
4GB
16GB
Vista/7 Home Basic
4GB
8GB
XP Professional
4GB
128GB
XP Home
4GB
N/A
The major difference between 32-bit and 64-bit Windows is memory support—specifically, breaking
the 4GB barrier found in 32-bit Windows systems. 32-bit versions of Windows support up to 4GB of
physical memory, with up to 2GB of dedicated memory per process. 64-bit versions of Windows support up to 192GB of physical memory, with up to 4GB for each 32-bit process and up to 8TB for each
64-bit process. Support for more memory means applications can preload more data into memory,
which the processor can access much more quickly.
Note
Although 32-bit versions of Windows can support up to 4GB of RAM, applications cannot access more than about
3.25GB of RAM. The remainder of the address space is used by video cards, the system ROM, integrated PCI devices,
PCI cards, and APICs.
Processor Specifications
Chapter 3
49
64-bit Windows runs 32-bit Windows applications with no problems, but it does not run 16-bit
Windows, DOS applications, or any other programs that run in virtual real mode. Drivers are another
big problem. 32-bit processes cannot load 64-bit dynamic link libraries (DLLs), and 64-bit processes
cannot load 32-bit DLLs. This essentially means that, for all the devices you have connected to your
system, you need both 32-bit and 64-bit drivers for them to work. Acquiring 64-bit drivers for older
devices or devices that are no longer supported can be difficult or impossible. Before installing a 64bit version of Windows, be sure to check with the vendors of your internal and add-on hardware for
64-bit drivers.
Tip
If you cannot find 64-bit drivers designed for Windows Vista or Windows 7, look for 64-bit drivers for Windows XP x64
edition. These drivers often work very well with later 64-bit versions of Windows.
Although vendors have ramped up their development of 64-bit software and drivers, you should still
keep all the memory size, software, and driver issues in mind when considering the transition from
32-bit to 64-bit technology. The transition from 32-bit hardware to mainstream 32-bit computing
took 16 years. The first 64-bit PC processor was released in 2003, and 64-bit computing really didn’t
become mainstream until the release of Windows 7 in late 2009.
Processor Benchmarks
People love to know how fast (or slow) their computers are. We have always been interested in speed;
it is human nature. To help us with this quest, we can use various benchmark test programs to measure aspects of processor and system performance. Although no single numerical measurement can
completely describe the performance of a complex device such as a processor or a complete PC,
benchmarks can be useful tools for comparing different components and systems.
However, the only truly accurate way to measure your system’s performance is to test the system
using the actual software applications you use. Although you think you might be testing one component of a system, often other parts of the system can have an effect. It is inaccurate to compare systems with different processors, for example, if they also have different amounts or types of memory,
different hard disks, different video cards, and so on. All these things and more skew the test results.
Benchmarks can typically be divided into two types: component or system tests. Component benchmarks measure the performance of specific parts of a computer system, such as a processor, hard disk,
video card, or optical drive, whereas system benchmarks typically measure the performance of the
entire computer system running a given application or test suite. These are also often called synthetic
benchmarks because they don’t measure actual work.
Benchmarks are, at most, only one kind of information you can use during the upgrading or purchasing process. You are best served by testing the system using your own set of software OSs and applications and in the configuration you will be running.
I normally recommend using application-based benchmarks such as the BAPCo SYSmark
(www.bapco.com) to measure the relative performance difference between different processors or systems. The next section includes tables that show the results of SYSmark benchmark tests on current as
well as older processors.
Comparing Processor Performance
A common misunderstanding about processors is their different speed ratings. This section covers
processor speed in general and then provides more specific information about Intel, AMD, and
VIA/Cyrix processors.
50
Chapter 3
Processor Types and Specifications
A computer system’s clock speed is measured as a frequency, usually expressed as a number of cycles
per second. A crystal oscillator controls clock speeds using a sliver of quartz sometimes housed in
what looks like a small tin container. Newer systems include the oscillator circuitry in the motherboard chipset, so it might not be a visible separate component on newer boards. As voltage is applied
to the quartz, it begins to vibrate (oscillate) at a harmonic rate dictated by the shape and size of the
crystal (sliver). The oscillations emanate from the crystal in the form of a current that alternates at the
harmonic rate of the crystal. This alternating current is the clock signal that forms the time base on
which the computer operates. A typical computer system runs millions or billions of these cycles per
second, so speed is measured in megahertz or gigahertz. (One hertz is equal to one cycle per second.)
An alternating current signal is like a sine wave, with the time between the peaks of each wave defining the frequency (see Figure 3.1).
Clock Cycles
One cycle
Voltage
Figure 3.1
Time
Alternating current signal showing clock cycle timing.
Note
The hertz was named for the German physicist Heinrich Rudolf Hertz. In 1885, Hertz confirmed the electromagnetic theory, which states that light is a form of electromagnetic radiation and is propagated as waves.
A single cycle is the smallest element of time for the processor. Every action requires at least one cycle
and usually multiple cycles. To transfer data to and from memory, for example, a modern processor
such as the Pentium 4 needs a minimum of three cycles to set up the first memory transfer and then
only a single cycle per transfer for the next three to six consecutive transfers. The extra cycles on the
first transfer typically are called wait states. A wait state is a clock tick in which nothing happens. This
ensures that the processor isn’t getting ahead of the rest of the computer.
◊◊
See “Memory Modules,” p. 333 (Chapter 6, “Memory”).
The time required to execute instructions also varies:
■ 8086 and 8088—The original 8086 and 8088 processors take an average of 12 cycles to execute
a single instruction.
■ 286 and 386—The 286 and 386 processors improve this rate to about 4.5 cycles per instruction.
■ 486—The 486 and most other fourth-generation Intel-compatible processors, such as the AMD
5x86, drop the rate further, to about 2 cycles per instruction.
Processor Specifications
Chapter 3
51
■ Pentium/K6—The Pentium architecture and other fifth-generation Intel-compatible processors, such as those from AMD and Cyrix, include twin instruction pipelines and other improvements that provide for operation at one or two instructions per cycle.
■ P6/P7 and newer—Sixth-, seventh-, and newer-generation processors can execute as many as
three or more instructions per cycle, with multiples of that possible on multicore processors.
Different instruction execution times (in cycles) make comparing systems based purely on clock speed
or number of cycles per second difficult. How can two processors that run at the same clock rate perform differently, with one running “faster” than the other? The answer is simple: efficiency.
The main reason the 486 is considered fast relative to the 386 is that it executes twice as many
instructions in the same number of cycles. The same thing is true for a Pentium; it executes about
twice as many instructions in a given number of cycles as a 486. Therefore, given the same clock
speed, a Pentium is twice as fast as a 486, and consequently a 133MHz 486 class processor (such as
the AMD 5x86-133) is not even as fast as a 75MHz Pentium! That is because Pentium megahertz are
“worth” about double what 486 megahertz are worth in terms of instructions completed per cycle.
The Pentium II and III are about 50% faster than an equivalent Pentium at a given clock speed
because they can execute about that many more instructions in the same number of cycles.
Unfortunately, after the Pentium III, it becomes much more difficult to compare processors on clock
speed alone. This is because the different internal architectures make some processors more efficient
than others, but these same efficiency differences result in circuitry that is capable of running at different maximum speeds. The less efficient the circuit, the higher the clock speed it can attain, and
vice versa.
One of the biggest factors in efficiency is the number of stages in the processor’s internal pipeline (see
Table 3.6).
Table 3.6
Number of Pipelines per CPU
Processor
Pipeline Depth
Pentium III
10-stage
Pentium M/Core
10-stage
Athlon/XP
10-stage
Athlon 64/Phenom/II
12-stage
Core 2/i5/i7
14-stage
Pentium 4
20-stage
Pentium 4 Prescott
31-stage
Pentium D
31-stage
A deeper pipeline effectively breaks down instructions into smaller microsteps, which allows overall
higher clock rates to be achieved using the same silicon technology. However, this also means that
overall fewer instructions can be executed in a single cycle as compared to processors with shorter
pipelines. This is because, if a branch prediction or speculative execution step fails (which happens
fairly frequently inside the processor as it attempts to line up instructions in advance), the entire
pipeline has to be flushed and refilled. Thus, if you compared an Intel Core i7 or AMD Phenom to a
Pentium 4 running at the same clock speed, the Core i7 and Phenom would execute more instructions in the same number of cycles.
52
Chapter 3
Processor Types and Specifications
Although it is a disadvantage to have a deeper pipeline in terms of instruction efficiency, processors
with deeper pipelines can run at higher clock rates on a given manufacturing technology. Thus, even
though a deeper pipeline might be less efficient, the higher resulting clock speeds can make up for it.
The deeper 20- or 31-stage pipeline in the P4 architecture enabled significantly higher clock speeds to
be achieved using the same silicon die process as other chips. As an example, the 0.13-micron process
Pentium 4 ran up to 3.4GHz, whereas the Athlon XP topped out at 2.2GHz (3200+ model) in the
same introduction timeframe. Even though the Pentium 4 executes fewer instructions in each cycle,
the overall higher cycling speeds made up for the loss of efficiency; the higher clock speed versus the
more efficient processing effectively cancelled each other out.
Unfortunately, the deep pipeline combined with high clock rates did come with a penalty in power
consumption, and therefore heat generation as well. Eventually it was determined that the power
penalty was too great, causing Intel to drop back to a more efficient design in its newer Core microarchitecture processors. Rather than solely increase clock rates, performance was increased by combining multiple processors into a single chip, thus improving the effective instruction efficiency even
further. This began the push toward multicore processors.
One thing is clear in all of this confusion: Raw clock speed is not a good way to compare chips, unless
they are from the same manufacturer, model, and family.
To fairly compare various CPUs at different clock speeds, Intel originally devised a specific series of
benchmarks called the Intel Comparative Microprocessor Performance (iCOMP) index. The iCOMP index
benchmark was released in original iCOMP, iCOMP 2.0, and iCOMP 3.0 versions.
The iCOMP 2.0 index was derived from several independent benchmarks as an indication of relative
processor performance. The benchmarks balance integer with floating-point and multimedia performance.
The iCOMP 2.0 index comparison for Pentium 75 through Pentium II 450 is available in Chapter 3 of
Upgrading and Repairing PCs, 19th edition, found in its entirety on the disc packaged with this book.
Intel and AMD rate their latest processors using the commercially available BAPCo SYSmark benchmark suites. SYSmark is an application-based benchmark that runs various scripts to do actual work
using popular applications. Many companies use it to test and compare PC systems and components.
The SYSmark benchmark is a much more modern and real-world benchmark than the iCOMP benchmark Intel previously used, and because it is available to anybody, the results can be independently
verified. You can purchase the SYSmark benchmark software from BAPCo at www.bapco.com or from
FutureMark at www.futuremark.com. Although the newest SYSmark version is SYSmark 2012, the
most widely used version of SYSmark for benchmarking current processors is SYSmark 2007. Table 3.7
compares the SYSmark 2007 scores for selected processors from Intel and AMD.
Note
According to Anandtech.com, SYSmark 2007 does not adequately capture the full performance benefit of more than two
processor cores: the applications and workload used in the benchmark put little stress on more than two processor
threads.
For SYSmark 2004 and SYSmark 2004SE comparisons for processors such as the Core 2 family,
Pentium D, Pentium 4 and Pentium Extreme Edition, Celeron D, Pentium III, Athlon 64, Athlon 64
X2, Sempron, and Athlon XP, see Table 3.8 and 3.9 in Chapter 3 of Upgrading and Repairing PCs, 19th
edition, available in its entirety on the disc packaged with this book.
To see additional processors with SYSmark scores of 100 or higher and processors with scores under
100, see www.anandtech.com/bench/CPU/2.
Chapter 3
Processor Specifications
Table 3.7
SYSmark 2007 Scores for Selected Processors
CPU
Clock/Cache/FSB
SYSmark 2007 Rating
Intel Core i7 2600K
3.4GHz/8MB/1,333
274
Intel Core i5 2500K
3.3GHz/6MB/1,333
265
Intel Core i7 980X Extreme
3.33GHz/12MB/1,066
257
Intel Core i5 2400
3.1GHz/6MB/1,333
246
Intel Core i3 2100
3.1GHz/3MB/850
215
AMD Phenom II X4 980 BE
3.7GHz/6MB/2000
215
AMD Phenom II X6 1090T
3.20GHz/6MB/2000
204
Intel Core 2 Quad Q9650
3.00GHz/12MB/1,333
187
Intel Core 2 Duo E8600
3.33GHz/6MB/1,333
186
AMD Phenom II x2 560 BE
3.30GHz/6MB/2000
181
Intel Pentium G6950
2.80GHz/3MB L3/533
176
AMD Athlon II X3 455
3.30GHz/1.5/1,000
160
AMD Phenom X4 9950
2.60GHz/2MB/1,000
152
AMD Phenom II X3 720
2.80GHz/6MB/1,000
141
Intel Core 2 Duo P8800
2.66GHz/3MB/1,066
139
Intel Core 2 Quad Q8200
2.33GHz/4MB/1,333
138
Intel Core 2 Duo T7800
2.60GHz/4MB/800
137
Intel Pentium E5400
2.70GHz/2MB/800
136
AMD Athlon X2 7850
2.80GHz/2MB/1,000
127
AMD Phenom X4 9850
2.50GHz/2MB/1,000
126
Intel Core 2 Duo P7570
2.26GHz/3MB/1,066
126
Intel Core 2 Duo P8400
2.26GHz/3MB/1,066
126
Intel Core 2 Duo P7550
2.26GHz/3MB/1,066
125
AMD Athlon X2 7750
2.70GHz/2MB/1,000
122
AMD Athlon 64 X2 6400+
3.20GHz/2MB/1,000
119
AMD Phenom X3 8750
2.40GHz/2MB/1,000
119
AMD Phenom X4 9650
2.30GHz/2MB/1,000
119
Intel Core 2 Duo P7450
2.13GHz/3MB/1,066
118
Intel Core 2 Duo T8100
2.10GHz/3MB/800
118
AMD Athlon 64 X2 6000+
3.00GHz/1MB/1,000
112
Intel Core 2 Duo T7600
2.33GHz/4MB/667
112
Intel Core 2 Duo T7300
2.00GHz/4MB/800
112
Intel Core 2 Duo E4500
2.20GHz/2MB/800
111
Intel Core 2 Duo T5900
2.20GHz/2MB/800
111
Intel Core Duo T2700
2.33GHz/2MB/667
110
AMD Phenom X4 9600
2.30GHz/2MB/1,000
110
Intel Core 2 Duo T6570
2.10GHz/2MB/800
110
AMD Athlon X2 6000+
3.10GHz/1MB/1,000
109
Intel Core 2 Duo T6500
2.10GHz/2MB/800
109
53
54
Chapter 3
Table 3.7
Processor Types and Specifications
Continued
CPU
Clock/Cache/FSB
SYSmark 2007 Rating
AMD Athlon 64 X2 5800+
3.00GHz/1MB/1,000
107
Intel Pentium E2200
2.20GHz/1MB/800
107
Intel Core 2 Duo T7400
2.16GHz/4MB/667
107
AMD Phenom X3 8450
2.10GHz/2MB/1,000
107
AMD Phenom X4 9500
2.20GHz/2MB/1,000
106
AMD Athlon 64 X2 5600+
2.90GHz/1MB/1,000
105
Intel Core 2 Duo T5870
2.00GHz/2MB/800
105
Intel Pentium T4300
2.10GHz/1MB/800
103
AMD Athlon 64 X2 5400+
2.80GHz/1MB/1,000
102
Intel Core 2 Duo E4400
2.00GHz/2MB/800
102
Intel Pentium E2180
2.00GHz/1MB/800
102
Intel Core 2 Duo E6300
1.86GHz/2MB/1,066
102
AMD Phenom X4 9150
1.80GHz/2MB/1,000
102
Intel Core 2 Duo T7200
2.00GHz/4MB/667
101
AMD Athlon 64 X2 5200+
2.60GHz/2MB/1,000
100
The SYSmark benchmarks are commercially available application-based benchmarks that reflect the
normal usage of business users employing modern Internet content creation and office applications.
However, it is important to note that the scores listed here are produced by complete systems and are
affected by things such as the specific version of the processor, the motherboard and chipset used, the
amount and type of memory installed, the speed of the hard disk, and other factors. For complete disclosure of the other factors resulting in the given scores, see the reports on the BAPCo website at
www.bapco.com.
Cache Memory
As processor core speeds increased, memory speeds could not keep up. How could you run a processor
faster than the memory from which you fed it without having performance suffer terribly? The
answer was cache. In its simplest terms, cache memory is a high-speed memory buffer that temporarily
stores data the processor needs, allowing the processor to retrieve that data faster than if it came from
main memory. But there is one additional feature of a cache over a simple buffer, and that is intelligence. A cache is a buffer with a brain.
A buffer holds random data, usually on a first-in, first-out basis or a first-in, last-out basis. A cache, on
the other hand, holds the data the processor is most likely to need in advance of it actually being
needed. This enables the processor to continue working at either full speed or close to it without having to wait for the data to be retrieved from slower main memory. Cache memory is usually made up
of static RAM (SRAM) memory integrated into the processor die, although older systems with cache
also used chips installed on the motherboard.
◊◊
See “Cache Memory: SRAM,” p. 319 (Chapter 6).
For the majority of desktop systems, there are two levels of processor/memory cache used in a modern PC: Level 1 (L1) and Level 2 (L2). An increasing number of high-performance processors also have
Level 3 cache. These caches and their functioning are described in the following sections.
Processor Specifications
Chapter 3
55
Internal Level 1 Cache
All modern processors starting with the 486 family include an integrated L1 cache and controller. The
integrated L1 cache size varies from processor to processor, starting at 8KB for the original 486DX and
now up to 128KB or more in the latest processors.
Note
Multi-core processors include separate L1 caches for each processor core. Also, L1 cache is divided into equal amounts
for instructions and data.
To understand the importance of cache, you need to know the relative speeds of processors and memory. The problem with this is that processor speed usually is expressed in MHz or GHz (millions or billions of cycles per second), whereas memory speeds are often expressed in nanoseconds (billionths of
a second per cycle). Most newer types of memory express the speed in either MHz or in megabyte per
second (MBps) bandwidth (throughput).
Both are really time- or frequency-based measurements, and a chart comparing them can be found in
Table 6.3 in Chapter 6. In this table, you will note that a 233MHz processor equates to 4.3-nanosecond cycling, which means you would need 4ns memory to keep pace with a 200MHz CPU. Also, note
that the motherboard of a 233MHz system typically runs at 66MHz, which corresponds to a speed of
15ns per cycle and requires 15ns memory to keep pace. Finally, note that 60ns main memory (common on many Pentium-class systems) equates to a clock speed of approximately 16MHz. So, a typical
Pentium 233 system has a processor running at 233MHz (4.3ns per cycle), a motherboard running at
66MHz (15ns per cycle), and main memory running at 16MHz (60ns per cycle). This might seem like
a rather dated example, but in a moment, you will see that the figures listed here make it easy for me
to explain how cache memory works.
Because L1 cache is always built into the processor die, it runs at the full-core speed of the processor
internally. By full-core speed, I mean this cache runs at the higher clock multiplied internal processor
speed rather than the external motherboard speed. This cache basically is an area of fast memory built
into the processor that holds some of the current working set of code and data. Cache memory can be
accessed with no wait states because it is running at the same speed as the processor core.
Using cache memory reduces a traditional system bottleneck because system RAM is almost always
much slower than the CPU; the performance difference between memory and CPU speed has become
especially large in recent systems. Using cache memory prevents the processor from having to wait for
code and data from much slower main memory, thus improving performance. Without the L1 cache,
a processor would frequently be forced to wait until system memory caught up.
Cache is even more important in modern processors because it is often the only memory in the entire
system that can truly keep up with the chip. Most modern processors are clock multiplied, which
means they are running at a speed that is really a multiple of the motherboard into which they are
plugged. The only types of memory matching the full speed of the processor are the L1, L2, and L3
caches built into the processor core.
◊◊
See “Memory Module Speed,” p. 344 (Chapter 6).
If the data that the processor wants is already in L1 cache, the CPU does not have to wait. If the data
is not in the cache, the CPU must fetch it from the Level 2 or Level 3 cache or (in less sophisticated
system designs) from the system bus—meaning main memory directly.
56
Chapter 3
Processor Types and Specifications
How Cache Works
To learn how the L1 cache works, consider the following analogy.
This story involves a person (in this case, you) eating food to act as the processor requesting and operating on data from memory. The kitchen where the food is prepared is the main system memory (typically double data rate [DDR], DDR2, or DDR3 dual inline memory module [DIMMs]). The cache
controller is the waiter, and the L1 cache is the table where you are seated.
Okay, here’s the story. Say you start to eat at a particular restaurant every day at the same time. You
come in, sit down, and order a hot dog. To keep this story proportionately accurate, let’s say you normally eat at the rate of one bite (byte? <grin>) every four seconds (233MHz = about 4ns cycling). It
also takes 60 seconds for the kitchen to produce any given item that you order (60ns main memory).
So, when you arrive, you sit down, order a hot dog, and you have to wait for 60 seconds for the food
to be produced before you can begin eating. After the waiter brings the food, you start eating at your
normal rate. Pretty quickly you finish the hot dog, so you call the waiter over and order a hamburger.
Again, you wait 60 seconds while the hamburger is being produced. When it arrives, you again begin
eating at full speed. After you finish the hamburger, you order a plate of fries. Again you wait, and
after the fries are delivered 60 seconds later, you eat them at full speed. Finally, you decide to finish
the meal and order cheesecake for dessert. After another 60-second wait, you can eat cheesecake at
full speed. Your overall eating experience consists of a lot of waiting, followed by short bursts of
actual eating at full speed.
After coming into the restaurant for two consecutive nights at exactly 6 p.m. and ordering the same
items in the same order each time, on the third night the waiter begins to think, “I know this guy is
going to be here at 6 p.m., order a hot dog, a hamburger, fries, and then cheesecake. Why don’t I
have these items prepared in advance and surprise him? Maybe I’ll get a big tip.” So you enter the
restaurant and order a hot dog, and the waiter immediately puts it on your plate, with no waiting!
You then proceed to finish the hot dog and right as you are about to request the hamburger, the
waiter deposits one on your plate. The rest of the meal continues in the same fashion, and you eat
the entire meal, taking a bite every four seconds, and you never have to wait for the kitchen to prepare the food. Your overall eating experience this time consists of all eating, with no waiting for the
food to be prepared, due primarily to the intelligence and thoughtfulness of your waiter.
This analogy describes the function of the L1 cache in the processor. The L1 cache itself is a table that
can contain one or more plates of food. Without a waiter, the space on the table is a simple food
buffer. When it’s stocked, you can eat until the buffer is empty, but nobody seems to be intelligently
refilling it. The waiter is the cache controller who takes action and adds the intelligence to decide
which dishes are to be placed on the table in advance of your needing them. Like the real cache controller, he uses his skills to literally guess which food you will require next, and if he guesses correctly,
you never have to wait.
Let’s now say on the fourth night you arrive exactly on time and start with the usual hot dog. The
waiter, by now really feeling confident, has the hot dog already prepared when you arrive, so there is
no waiting.
Just as you finish the hot dog, and right as he is placing a hamburger on your plate, you say “Gee, I’d
really like a bratwurst now; I didn’t actually order this hamburger.” The waiter guessed wrong, and the
consequence is that this time you have to wait the full 60 seconds as the kitchen prepares your brat.
This is known as a cache miss, in which the cache controller did not correctly fill the cache with the
data the processor actually needed next. The result is waiting, or in the case of a sample 233MHz
Pentium system, the system essentially throttles back to 16MHz (RAM speed) whenever a cache miss
occurs.
Processor Specifications
Chapter 3
57
According to Intel, the L1 cache in most of its processors has approximately a 90% hit ratio. (Some
processors, such as the Pentium 4, are slightly higher.) This means that the cache has the correct data
90% of the time, and consequently the processor runs at full speed (233MHz in this example) 90% of
the time. However, 10% of the time the cache controller guesses incorrectly, and the data has to be
retrieved out of the significantly slower main memory, meaning the processor has to wait. This essentially throttles the system back to RAM speed, which in this example was 60ns or 16MHz.
In this analogy, the processor was 14 times faster than the main memory. Memory speeds have
increased from 16MHz (60ns) to 333MHz (3.0ns) or faster in the latest systems, but processor speeds
have also risen to 3GHz and beyond. So even in the latest systems, memory is still 7.5 or more times
slower than the processor. Cache is what makes up the difference.
The main feature of L1 cache is that it has always been integrated into the processor core, where it
runs at the same speed as the core. This, combined with the hit ratio of 90% or greater, makes L1
cache important for system performance.
Level 2 Cache
To mitigate the dramatic slowdown every time an L1 cache miss occurs, a secondary (L2) cache is
employed.
Using the restaurant analogy I used to explain L1 cache in the previous section, I’ll equate the L2
cache to a cart of additional food items placed strategically in the restaurant such that the waiter can
retrieve food from the cart in only 15 seconds (versus 60 seconds from the kitchen). In an actual
Pentium class (Socket 7) system, the L2 cache is mounted on the motherboard, which means it runs
at motherboard speed (66MHz, or 15ns in this example). Now, if you ask for an item the waiter did
not bring in advance to your table, instead of making the long trek back to the kitchen to retrieve the
food and bring it back to you 60 seconds later, he can first check the cart where he has placed additional items. If the requested item is there, he will return with it in only 15 seconds. The net effect in
the real system is that instead of slowing down from 233MHz to 16MHz waiting for the data to come
from the 60ns main memory, the system can instead retrieve the data from the 15ns (66MHz) L2
cache. The effect is that the system slows down from 233MHz to 66MHz.
All modern processors have integrated L2 cache that runs at the same speed as the processor core,
which is also the same speed as the L1 cache. For the analogy to describe these newer chips, the
waiter would simply place the cart right next to the table you were seated at in the restaurant. Then,
if the food you desired wasn’t on the table (L1 cache miss), it would merely take a longer reach over
to the adjacent L2 cache (the cart, in this analogy) rather than a 15-second walk to the cart as with
the older designs.
Level 3 Cache
Some processors, primarily those designed for high-performance desktop operation or enterprise-level
servers, contain a third level of cache known as L3 cache. In the past, relatively few processors had L3
cache, but it is becoming more and more common in newer and faster multicore processors such as
the Intel Core i7 and AMD Phenom II processors.
Extending the restaurant analogy I used to explain L1 and L2 caches, I’ll equate L3 cache to another
cart of additional food items placed in the restaurant next to the cart used to symbolize L2 cache. If
the food item needed was not on the table (L1 cache miss) or on the first food cart (L2 cache miss),
the waiter could then reach over to the second food cart to retrieve a necessary item.
L3 cache proves especially useful in multicore processors, where the L3 is generally shared among all
the cores. Both Intel and AMD use L3 cache in most of their current processors because of the benefits
to multicore designs.
58
Chapter 3
Processor Types and Specifications
Cache Performance and Design
Just as with the L1 cache, most L2 caches have a hit ratio also in the 90% range; therefore, if you look
at the system as a whole, 90% of the time it runs at full speed (233MHz in this example) by retrieving
data out of the L1 cache. Ten percent of the time it slows down to retrieve the data from the L2
cache. Ninety percent of the time the processor goes to the L2 cache, the data is in the L2, and 10%
of that time it has to go to the slow main memory to get the data because of an L2 cache miss. So, by
combining both caches, our sample system runs at full processor speed 90% of the time (233MHz in
this case), at motherboard speed 9% (90% of 10%) of the time (66MHz in this case), and at RAM
speed about 1% (10% of 10%) of the time (16MHz in this case). You can clearly see the importance of
both the L1 and L2 caches; without them the system uses main memory more often, which is significantly slower than the processor.
This brings up other interesting points. If you could spend money doubling the performance of either
the main memory (RAM) or the L2 cache, which would you improve? Considering that main memory
is used directly only about 1% of the time, if you doubled performance there, you would double the
speed of your system only 1% of the time! That doesn’t sound like enough of an improvement to justify much expense. On the other hand, if you doubled L2 cache performance, you would be doubling
system performance 9% of the time, which is a much greater improvement overall. I’d much rather
improve L2 than RAM performance. The same argument holds true for adding and increasing the size
of L3 cache, as many recent processors from AMD and some from Intel have done.
The processor and system designers at Intel and AMD know this and have devised methods of
improving the performance of L2 cache. In Pentium (P5) class systems, the L2 cache usually was
found on the motherboard and had to run at motherboard speed. Intel made the first dramatic
improvement by migrating the L2 cache from the motherboard directly into the processor and initially running it at the same speed as the main processor. The cache chips were made by Intel and
mounted next to the main processor die in a single chip housing. This proved too expensive, so with
the Pentium II, Intel began using cache chips from third-party suppliers such as Sony, Toshiba, NEC,
and Samsung. Because these were supplied as complete packaged chips and not raw die, Intel
mounted them on a circuit board alongside the processor. This is why the Pentium II was designed as
a cartridge rather than what looked like a chip.
One problem was the speed of the available third-party cache chips. The fastest ones on the market
were 3ns or higher, meaning 333MHz or less in speed. Because the processor was being driven in
speed above that, in the Pentium II and initial Pentium III processors, Intel had to run the L2 cache at
half the processor speed because that is all the commercially available cache memory could handle.
AMD followed suit with the Athlon processor, which had to drop L2 cache speed even further in
some models to two-fifths or one-third the main CPU speed to keep the cache memory speed less
than the 333MHz commercially available chips.
Then a breakthrough occurred, which first appeared in Celeron processors 300A and above. These had
128KB of L2 cache, but no external chips were used. Instead, the L2 cache had been integrated
directly into the processor core just like the L1. Consequently, both the L1 and L2 caches now would
run at full processor speed, and more importantly scale up in speed as the processor speeds increased
in the future. In the newer Pentium III, as well as all the Xeon and Celeron processors, the L2 cache
runs at full processor core speed, which means there is no waiting or slowing down after an L1 cache
miss. AMD also achieved full-core speed on-die cache in its later Athlon and Duron chips. Using ondie cache improves performance dramatically because 9% of the time the system uses the L2. It now
remains at full speed instead of slowing down to one-half or less the processor speed or, even worse,
slowing down to motherboard speed as in Socket 7 designs. Another benefit of on-die L2 cache is
cost, which is less because fewer parts are involved. L3 on-die caches offer the same benefits for those
times when L1 and L2 cache do not contain the desired data. And, because L3 cache is much larger
Processor Specifications
Chapter 3
59
than L2 cache (6MB in AMD Phenom II and 12MB in Core i7 Extreme Edition), the odds of all three
cache levels not containing the information desired are reduced over processors which have only L1
and L2 cache.Let’s revisit the restaurant analogy using a 3.6GHz processor. You would now be taking a
bite every half second (3.6GHz = 0.28ns cycling). The L1 cache would also be running at that speed,
so you could eat anything on your table at that same rate (the table = L1 cache). The real jump in
speed comes when you want something that isn’t already on the table (L1 cache miss), in which case
the waiter reaches over to the cart (which is now directly adjacent to the table) and 9 out of 10 times
is able to find the food you want in just over one-quarter second (L2 speed = 3.6GHz or 0.28ns
cycling). In this system, you would run at 3.6GHz 99% of the time (L1 and L2 hit ratios combined)
and slow down to RAM speed (wait for the kitchen) only 1% of the time, as before. With faster memory running at 800MHz (1.25ns), you would have to wait only 1.25 seconds for the food to come
from the kitchen. If only restaurant performance would increase at the same rate processor performance has!
Cache Organization
You know that cache stores copies of data from various main memory addresses. Because the cache
cannot hold copies of the data from all the addresses in main memory simultaneously, there has to be
a way to know which addresses are currently copied into the cache so that, if we need data from
those addresses, it can be read from the cache rather than from the main memory. This function is
performed by Tag RAM, which is additional memory in the cache that holds an index of the addresses
that are copied into the cache. Each line of cache memory has a corresponding address tag that stores
the main memory address of the data currently copied into that particular cache line. If data from a
particular main memory address is needed, the cache controller can quickly search the address tags to
see whether the requested address is currently being stored in the cache (a hit) or not (a miss). If the
data is there, it can be read from the faster cache; if it isn’t, it has to be read from the much slower
main memory.
Various ways of organizing or mapping the tags affect how cache works. A cache can be mapped as
fully associative, direct-mapped, or set associative.
In a fully associative mapped cache, when a request is made for data from a specific main memory
address, the address is compared against all the address tag entries in the cache tag RAM. If the
requested main memory address is found in the tag (a hit), the corresponding location in the cache is
returned. If the requested address is not found in the address tag entries, a miss occurs, and the data
must be retrieved from the main memory address instead of the cache.
In a direct-mapped cache, specific main memory addresses are preassigned to specific line locations in
the cache where they will be stored. Therefore, the tag RAM can use fewer bits because when you
know which main memory address you want, only one address tag needs to be checked, and each tag
needs to store only the possible addresses a given line can contain. This also results in faster operation
because only one tag address needs to be checked for a given memory address.
A set associative cache is a modified direct-mapped cache. A direct-mapped cache has only one set of
memory associations, meaning a given memory address can be mapped into (or associated with) only
a specific given cache line location. A two-way set associative cache has two sets, so that a given
memory location can be in one of two locations. A four-way set associative cache can store a given
memory address into four different cache line locations (or sets). By increasing the set associativity,
the chance of finding a value increases; however, it takes a little longer because more tag addresses
must be checked when searching for a specific location in the cache. In essence, each set in an n-way
set associative cache is a subcache that has associations with each main memory address. As the number of subcaches or sets increases, eventually the cache becomes fully associative—a situation in
which any memory address can be stored in any cache line location. In that case, an n-way set associative cache is a compromise between a fully associative cache and a direct-mapped cache.
60
Chapter 3
Processor Types and Specifications
In general, a direct-mapped cache is the fastest at locating and retrieving data from the cache because
it has to look at only one specific tag address for a given memory address. However, it also results in
more misses overall than the other designs. A fully associative cache offers the highest hit ratio but is
the slowest at locating and retrieving the data because it has many more address tags to check
through. An n-way set associative cache is a compromise between optimizing cache speed and hit
ratio, but the more associativity there is, the more hardware (tag bits, comparator circuits, and so on)
is required, making the cache more expensive. Obviously, cache design is a series of trade-offs, and
what works best in one instance might not work best in another. Multitasking environments such as
Windows are good examples of environments in which the processor needs to operate on different
areas of memory simultaneously and in which an n-way cache can improve performance.
The contents of the cache must always be in sync with the contents of main memory to ensure that
the processor is working with current data. For this reason, the internal cache in the 486 family was a
write-through cache. Write-through means that when the processor writes information to the cache,
that information is automatically written through to main memory as well.
By comparison, Pentium and later chips have an internal write-back cache, which means that both
reads and writes are cached, further improving performance.
Another feature of improved cache designs is that they are nonblocking. This is a technique for reducing or hiding memory delays by exploiting the overlap of processor operations with data accesses. A
nonblocking cache enables program execution to proceed concurrently with cache misses as long as
certain dependency constraints are observed. In other words, the cache can handle a cache miss much
better and enable the processor to continue doing something nondependent on the missing data.
The cache controller built into the processor also is responsible for watching the memory bus when
alternative processors, known as bus masters, control the system. This process of watching the bus is
referred to as bus snooping. If a bus master device writes to an area of memory that also is stored in the
processor cache currently, the cache contents and memory no longer agree. The cache controller then
marks this data as invalid and reloads the cache during the next memory access, preserving the
integrity of the system.
All PC processor designs that support cache memory include a feature known as a translation lookaside
buffer (TLB) to improve recovery from cache misses. The TLB is a table inside the processor that stores
information about the location of recently accessed memory addresses. The TLB speeds up the translation of virtual addresses to physical memory addresses.
As clock speeds increase, cycle time decreases. Newer systems no longer use cache on the motherboard because the faster system memory used in modern systems can keep up with the motherboard
speed. Modern processors integrate the L2 cache into the processor die just like the L1 cache, and
most recent models include on-die L3 as well. This enables the L2/L3 to run at full-core speed because
it is now part of the core.
Processor Features
As new processors are introduced, new features are continually added to their architectures to
improve everything from performance in specific types of applications to the reliability of the CPU as
a whole. The next few sections look at some of these technologies.
System Management Mode (SMM)
Spurred on initially by the need for more robust power management capabilities in mobile computers,
Intel and AMD began adding System Management Mode (SMM) to its processors during the early 1990s.
SMM is a special-purpose operating mode provided for handling low-level system power management
Processor Features
Chapter 3
61
and hardware control functions. SMM offers an isolated software environment that is transparent to
the OS or applications software and is intended for use by system BIOS or low-level driver code.
SMM was introduced as part of the Intel 386SL mobile processor in October 1990. SMM later appeared
as part of the 486SL processor in November 1992, and in the entire 486 line starting in June 1993.
SMM was notably absent from the first Pentium processors when they were released in March 1993;
however, SMM was included in all 75MHz and faster Pentium processors released on or after October
1994. AMD added SMM to its enhanced Am486 and K5 processors around that time as well. All other
Intel and AMD x86-based processors introduced since that time also have incorporated SMM.
SMM is invoked by signaling a special interrupt pin on the processor, which generates a System
Management Interrupt (SMI), the highest priority nonmaskable interrupt available. When SMM starts,
the context or state of the processor and currently running programs are saved. Then the processor
switches to a separate dedicated address space and executes the SMM code, which runs transparently
to the interrupted program as well as any other software on the system. Once the SMM task is complete, a resume instruction restores the previously saved context or state of the processor and programs, and the processor resumes running exactly where it left off.
While initially used mainly for power management, SMM was designed to be used by any low-level
system functions that need to function independent of the OS and other software on the system. In
modern systems, this includes the following:
■ ACPI and APM power management functions
■ Universal serial bus (USB) legacy (keyboard and mouse) support
■ USB boot (drive emulation)
■ Password and security functions
■ Thermal monitoring
■ Fan speed monitoring
■ Reading/writing Complementary Metal Oxide Semiconductor (CMOS) RAM
■ BIOS updating
■ Logging memory error-correcting code (ECC) errors
■ Logging hardware errors besides memory
■ Wake and Alert functions such as Wake on LAN (WOL)
One example of SMM in operation occurs when the system tries to access a peripheral device that had
been previously powered down to save energy. For example, say that a program requests to read a file
on a hard drive, but the drive had previously spun down to save energy. Upon access, the host
adapter generates an SMI to invoke SMM. The SMM software then issues commands to spin up the
drive and make it ready. Consequently, SMM returns control to the OS, and the file load continues as
if the drive had been spinning all along.
Superscalar Execution
The fifth-generation Pentium and newer processors feature multiple internal instruction execution
pipelines, which enable them to execute multiple instructions at the same time. The 486 and all preceding chips can perform only a single instruction at a time. Intel calls the capability to execute more
than one instruction at a time superscalar technology.
Superscalar architecture was initially associated with high-output reduced instruction set computer
(RISC) chips. A RISC chip has a less complicated instruction set with fewer and simpler instructions.
62
Chapter 3
Processor Types and Specifications
Although each instruction accomplishes less, the overall clock speed can be higher, which usually
increases performance. The Pentium is one of the first complex instruction set computer (CISC) chips
to be considered superscalar. A CISC chip uses a richer, fuller-featured instruction set, which has more
complicated instructions. As an example, say you wanted to instruct a robot to screw in a lightbulb.
Using CISC instructions, you would say the following:
1. Pick up the bulb.
2. Insert it into the socket.
3. Rotate clockwise until tight.
Using RISC instructions, you would say something more along the lines of the following:
1. Lower hand.
2. Grasp bulb.
3. Raise hand.
4. Insert bulb into socket.
5. Rotate clockwise one turn.
6. Is bulb tight? If not, repeat step 5.
7. End.
Overall, many more RISC instructions are required to do the job because each instruction is simpler
(reduced) and does less. The advantage is that there are fewer overall commands the robot (or processor) has to deal with, and it can execute the individual commands more quickly, and thus in many
cases execute the complete task (or program) more quickly as well. The debate goes on whether RISC
or CISC is really better, but in reality there is no such thing as a pure RISC or CISC chip—it is all just
a matter of definition, and the lines are somewhat arbitrary.
Intel and compatible processors have generally been regarded as CISC chips, although the fifth- and
later-generation versions have many RISC attributes and internally break down CISC instructions into
RISC versions.
MMX Technology
MMX technology was originally named for multimedia extensions, or matrix math extensions, depending
on whom you ask. Intel officially states that it is actually not an abbreviation and stands for nothing
other than the letters MMX (not being an abbreviation was apparently required so that the letters
could be trademarked); however, the internal origins are probably one of the preceding. MMX technology was introduced in the later fifth-generation Pentium processors as a kind of add-on that
improves video compression/decompression, image manipulation, encryption, and I/O processing—
all of which are used in a variety of today’s software.
MMX consists of two main processor architectural improvements. The first is basic: All MMX chips
have a larger internal L1 cache than their non-MMX counterparts. This improves the performance of
any and all software running on the chip, regardless of whether it actually uses the MMX-specific
instructions.
The other part of MMX is that it extends the processor instruction set with 57 new commands or
instructions, as well as a new instruction capability called single instruction, multiple data (SIMD).
Modern multimedia and communication applications often use repetitive loops that, while occupying
10% or less of the overall application code, can account for up to 90% of the execution time. SIMD
Processor Features
Chapter 3
63
enables one instruction to perform the same function on multiple pieces of data, similar to a teacher
telling an entire class to “sit down,” rather than addressing each student one at a time. SIMD enables
the chip to reduce processor-intensive loops common with video, audio, graphics, and animation.
Intel also added 57 new instructions specifically designed to manipulate and process video, audio, and
graphical data more efficiently. These instructions are oriented to the highly parallel and often repetitive sequences frequently found in multimedia operations. Highly parallel refers to the fact that the
same processing is done on many data points, such as when modifying a graphic image. The main
drawbacks to MMX were that it worked only on integer values and used the floating-point unit for
processing, so time was lost when a shift to floating-point operations was necessary. These drawbacks
were corrected in the additions to MMX from Intel and AMD.
Intel licensed the MMX capabilities to competitors such as AMD and Cyrix, who were then able to
upgrade their own Intel-compatible processors with MMX technology.
SSE
In February 1999, Intel introduced the Pentium III processor and included in that processor an update
to MMX called Streaming SIMD Extensions (SSE). These were also called Katmai New Instructions (KNI)
up until their debut because they were originally included on the Katmai processor, which was the
code name for the Pentium III. The Celeron 533A and faster Celeron processors based on the Pentium
III core also support SSE instructions. The earlier Pentium II and Celeron 533 and lower (based on the
Pentium II core) do not support SSE.
The Streaming SIMD Extensions consist of 70 new instructions, including SIMD floating point, additional SIMD integer, and cacheability control instructions. Some of the technologies that benefit from
the Streaming SIMD Extensions include advanced imaging, 3D video, streaming audio and video
(DVD playback), and speech-recognition applications.
The SSEx instructions are particularly useful with MPEG2 decoding, which is the standard scheme
used on DVD video discs. Therefore, SSE-equipped processors should be more capable of performing
MPEG2 decoding in software at full speed without requiring an additional hardware MPEG2 decoder
card. SSE-equipped processors are also much better and faster than previous processors when it comes
to speech recognition.
One of the main benefits of SSE over plain MMX is that it supports single-precision floating-point
SIMD operations, which have posed a bottleneck in the 3D graphics processing. Just as with plain
MMX, SIMD enables multiple operations to be performed per processor instruction. Specifically, SSE
supports up to four floating-point operations per cycle; that is, a single instruction can operate on
four pieces of data simultaneously. SSE floating-point instructions can be mixed with MMX instructions with no performance penalties. SSE also supports data prefetching, which is a mechanism for
reading data into the cache before it is actually called for.
SSE includes 70 new instructions for graphics and sound processing over what MMX provided. SSE is
similar to MMX; in fact, besides being called KNI, SSE was called MMX-2 by some before it was
released. In addition to adding more MMX-style instructions, the SSE instructions allow for floatingpoint calculations and now use a separate unit within the processor instead of sharing the standard
floating-point unit as MMX did.
SSE2 was introduced in November 2000, along with the Pentium 4 processor, and adds 144 additional
SIMD instructions. SSE2 also includes all the previous MMX and SSE instructions.
SSE3 was introduced in February 2004, along with the Pentium 4 Prescott processor, and adds 13 new
SIMD instructions to improve complex math, graphics, video encoding, and thread synchronization.
SSE3 also includes all the previous MMX, SSE, and SSE2 instructions.
64
Chapter 3
Processor Types and Specifications
SSSE3 (Supplemental SSE3) was introduced in June 2006 in the Xeon 5100 series server processors,
and in July 2006 in the Core 2 processors. SSSE3 adds 32 new SIMD instructions to SSE3.
SSE4 (also called HD Boost by Intel) was introduced in January 2008 in versions of the Intel Core 2
processors (SSE4.1) and was later updated in November 2008 in the Core i7 processors (SSE4.2). SSE4
consists of 54 total instructions, with a subset of 47 instructions comprising SSE4.1, and the full 54
instructions in SSE4.2.
Advanced vector extensions (AVX) was introduced in January 2011 in the second-general Core i-series
“Sandy Bridge” processors, and is also supported by AMD’s new “Bulldozer” processor family. AVX is a
new 256-bit instruction set extension to SSE, comprising 12 new instructions. AVX helps floatingpoint intensive applications such as image and A/V processing, scientific simulations, financial analytics, and 3D modeling and analysis to perform better. AVX is supported on Windows 7 SP1, Windows
Server 2008 R2 SP1, and Linux kernel version 2.6.30 and higher. For AVX support on virtual machines
running on Windows Server R2, see http://support.microsoft.com/kb/2517374 for a hotfix.
For more information about AVX, see http://software.intel.com/en-us/avx/. Although AMD has
adopted Intel SSE3 and earlier instructions in the past, instead of adopting SSE4, AMD has created a
different set of only four instructions it calls SSE4a. Although AMD had planned to develop its own
instruction set called SSE5 and release it as part of its new “Bulldozer” processor architecture, it
decided to shelve SSE5 and create new instruction sets that use coding compatible with AVX. The new
instruction sets include
■ XOP—integer vector instructions
■ FMA4—floating point instructions
■ CVT16—half-precision floating point conversion
3DNow!
3DNow! technology was originally introduced as AMD’s alternative to the SSE instructions in the Intel
processors. It included three generations: 3D Now!, Enhanced 3D Now!, and Professional 3D Now!
(which added full support for SSE). AMD announced in August 2010 that it was dropping support for
3D Now!-specific instructions in upcoming processors.
For more information about 3D Now!, see “3D Now” in Chapter 3 of Upgrading and Repairing PCs, 19th
edition, which is supplied on the disc packaged with this book.
Dynamic Execution
First used in the P6 (or sixth-generation) processors, dynamic execution enables the processor to execute more instructions in parallel, so tasks are completed more quickly. This technology innovation is
composed of three main elements:
■ Multiple branch prediction—Predicts the flow of the program through several branches
■ Dataflow analysis—Schedules instructions to be executed when ready, independent of their
order in the original program
■ Speculative execution—Increases the rate of execution by looking ahead of the program
counter and executing instructions that are likely to be necessary
Branch Prediction
Branch prediction is a feature formerly found only in high-end mainframe processors. It enables the
processor to keep the instruction pipeline full while running at a high rate of speed. A special
fetch/decode unit in the processor uses a highly optimized branch-prediction algorithm to predict the
Processor Features
Chapter 3
65
direction and outcome of the instructions being executed through multiple levels of branches, calls,
and returns. It is similar to a chess player working out multiple strategies in advance of game play by
predicting the opponent’s strategy several moves into the future. By predicting the instruction outcome in advance, the instructions can be executed with no waiting.
Dataflow Analysis
Dataflow analysis studies the flow of data through the processor to detect any opportunities for out-oforder instruction execution. A special dispatch/execute unit in the processor monitors many instructions and can execute these instructions in an order that optimizes the use of the multiple superscalar
execution units. The resulting out-of-order execution of instructions can keep the execution units
busy even when cache misses and other data-dependent instructions might otherwise hold things up.
Speculative Execution
Speculative execution is the processor’s capability to execute instructions in advance of the actual program counter. The processor’s dispatch/execute unit uses dataflow analysis to execute all available
instructions in the instruction pool and store the results in temporary registers. A retirement unit
then searches the instruction pool for completed instructions that are no longer data dependent on
other instructions to run or which have unresolved branch predictions. If any such completed
instructions are found, the retirement unit or the appropriate standard Intel architecture commits the
results to memory in the order they were originally issued. They are then retired from the pool.
Dynamic execution essentially removes the constraint and dependency on linear instruction sequencing. By promoting out-of-order instruction execution, it can keep the instruction units working rather
than waiting for data from memory. Even though instructions can be predicted and executed out of
order, the results are committed in the original order so they don’t disrupt or change program flow.
This enables the P6 to run existing Intel architecture software exactly as the P5 (Pentium) and previous processors did—just a whole lot more quickly!
Dual Independent Bus Architecture
The Dual Independent Bus (DIB) architecture was first implemented in the sixth-generation processors
from Intel and AMD. DIB was created to improve processor bus bandwidth and performance. Having
two (dual) independent data I/O buses enables the processor to access data from either of its buses
simultaneously and in parallel, rather than in a singular sequential manner (as in a single-bus system). The main (often called front-side) processor bus is the interface between the processor and the
motherboard or chipset. The second (back-side) bus in a processor with DIB is used for the L2 cache,
enabling it to run at much greater speeds than if it were to share the main processor bus.
Two buses make up the DIB architecture: the L2 cache bus and the main CPU bus, often called FSB
(front-side bus). The P6 class processors, from the Pentium Pro to the Core 2, as well as Athlon 64
processors can use both buses simultaneously, eliminating a bottleneck there. The dual bus architecture enables the L2 cache of the newer processors to run at full speed inside the processor core on an
independent bus, leaving the main CPU bus (FSB) to handle normal data flowing in and out of the
chip. The two buses run at different speeds. The front-side bus or main CPU bus is coupled to the
speed of the motherboard, whereas the back-side or L2 cache bus is coupled to the speed of the
processor core. As the frequency of processors increases, so does the speed of the L2 cache.
DIB also enables the system bus to perform multiple simultaneous transactions (instead of singular
sequential transactions), accelerating the flow of information within the system and boosting performance. Overall, DIB architecture offers up to three times the bandwidth performance over a singlebus architecture processor.
66
Chapter 3
Processor Types and Specifications
HT Technology
Intel’s HT Technology allows a single processor or processor core to handle two independent sets of
instructions at the same time. In essence, HT Technology converts a single physical processor core
into two virtual processors.
HT Technology was introduced on Xeon workstation-class processors with a 533MHz system bus in
March 2002. It found its way into standard desktop PC processors starting with the Pentium 4
3.06GHz processor in November 2002. HT Technology predates multicore processors, so processors
that have multiple physical cores, such as the Core 2 and Core i Series, may or may not support this
technology depending on the specific processor version. A quad-core processor that supports HT
Technology (like the Core i Series) would appear as an 8-core processor to the OS; Intel’s Core i7-990x
has six cores and supports up to 12 threads.
How HT Works
Internally, an HT-enabled processor has two sets of general-purpose registers, control registers, and
other architecture components for each core, but both logical processors share the same cache, execution units, and buses. During operations, each logical processor handles a single thread (see Figure 3.2).
Single
CPU
Thread 1
Dual-physical
CPUs
Thread 2
CPU idle
Hyperthreaded
CPU
Figure 3.2 A processor with HT Technology enabled can fill otherwise-idle time with a second process for
each core, improving multitasking and performance of multithreading single applications.
Although the sharing of some processor components means that the overall speed of an HT-enabled
system isn’t as high as a processor with as many physical cores would be, speed increases of 25% or
more are possible when multiple applications or multithreaded applications are being run.
HT Requirements
To take advantage of HT Technology, you need the following:
■ A processor supporting HT Technology—This includes many (but not all) Core i Series,
Pentium 4, Xeon, and Atom processors. Check the specific model processor specifications to be
sure.
Processor Features
Chapter 3
67
■ A compatible chipset—Some older chipsets may not support HT Technology.
■ BIOS support to enable/disable HT Technology—Make sure you enable HT Technology
in the BIOS Setup.
■ An HT Technology–enabled OS—Windows XP and later support HT Technology. Linux distributions based on kernel 2.4.18 and higher also support HT Technology. To see if HT
Technology is functioning properly, you can check the Device Manager in Windows to see how
many processors are recognized. When HT is supported and enabled, the Windows Device
Manager shows twice as many processors as there are physical processor cores.
Multicore Technology
HT Technology simulates two processors in a single physical core. If multiple simulated processors are
good, having two or more real processors is a lot better. A multicore processor, as the name implies,
actually contains two or more processor cores in a single processor package. From outward appearances, it still looks like a single processor (and is considered as such for Windows licensing purposes),
but inside there can be two, three, four, or even more processor cores. A multicore processor provides
virtually all the advantages of having multiple separate physical processors, all at a much lower cost.
Both AMD and Intel introduced the first dual-core x86-compatible desktop processors in May 2005.
AMD’s initial entry was the Athlon 64 X2, whereas Intel’s first dual-core processors were the Pentium
Extreme Edition 840 and the Pentium D. The Extreme Edition 840 was notable for also supporting HT
Technology, allowing it to appear as a quad-core processor to the OS. These processors combined 64bit instruction capability with dual internal cores—essentially two processors in a single package.
These chips were the start of the multicore revolution, which has continued by adding more cores
along with additional extensions to the instruction set. Intel introduced the first quad-core processors
in November 2006, called the Core 2 Extreme QX and Core 2 Quad. AMD subsequently introduced its
first quad-core desktop PC processor in November 2007, called the Phenom.
Note
There has been some confusion about Windows and multicore or hyperthreaded processors. Windows XP and later
Home editions support only one physical CPU, whereas Windows Professional, Business, Enterprise, and Ultimate editions
support two physical CPUs. Even though the Home editions support only a single physical CPU, if that chip is a multicore
processor with HT Technology, all the physical and virtual cores are supported. For example, if you have a system with a
quad-core processor supporting HT Technology, Windows Home editions will see it as eight processors, and all of them
will be supported. If you had a motherboard with two of these CPUs installed, Windows Home editions would see the
eight physical/virtual cores in the first CPU, whereas Professional, Business, Enterprise, and Ultimate editions would see all
16 cores in both CPUs.
Multicore processors are designed for users who run multiple programs at the same time or who use
multithreaded applications, which pretty much describes all users these days. A multithreaded application can run different parts of the program, known as threads, at the same time in the same address
space, sharing code and data. A multithreaded program runs faster on a multicore processor or a
processor with HT Technology enabled than on a single-core or non-HT processor.
Figure 3.3 illustrates how a dual-core processor handles multiple applications for faster performance.
68
Chapter 3
Processor Types and Specifications
Word processing
Email
Word processing
Email
MP3
Encoder
Web browser
Graphics Editor
Video
Encoder
Graphics Editor
Web browser
A single-core processor
must devote less time to
each running application
as more applications are
launched.
Figure 3.3
A dual-core processor
splits up the workload
between the processor
cores, enabling it to
perform faster with the
same workload or handle
more applications.
How a single-core processor (left) and a dual-core processor (right) handle multitasking.
It’s important to realize that multicore processors don’t improve single-task performance much. If you
play non-multithreaded games on your PC, it’s likely that you would see little advantage in a multicore or hyperthreaded CPU. Fortunately, more and more software (including games) is designed to be
multithreaded to take advantage of multicore processors. The program is broken into multiple
threads, all of which can be divided among the available CPU cores.
The following sections discuss the major features of these processors and the different approaches
Intel and AMD take to bring 64-bit multicore computing to the PC.
Processor Manufacturing
Processors are manufactured primarily from silicon, the second most common element on the planet.
(Only the element oxygen is more common.) Silicon is the primary ingredient in beach sand; however, in that form it isn’t pure enough to be used in chips.
The process by which silicon is formed into chips is a lengthy one that starts by growing pure silicon
crystals via what is called the Czochralski method (named after the inventor of the process). In this
method, electric arc furnaces transform the raw materials (primarily quartz rock that is mined) into
metallurgical-grade silicon. Then to further weed out impurities, the silicon is converted to a liquid,
distilled, and then redeposited in the form of semiconductor-grade rods, which are 99.999999% pure.
These rods are then mechanically broken into chunks and packed into quartz crucibles, which are
loaded into electric crystal pulling ovens. There the silicon chunks are melted at more than 2,500°
Fahrenheit. To prevent impurities, the ovens usually are mounted on thick concrete cubes—often on a
suspension to prevent vibration, which would damage the crystal as it forms.
After the silicon is melted, a small seed crystal is inserted into the molten silicon and slowly rotated
(see Figure 3.4). As the seed is pulled out of the molten silicon, some of the silicon sticks to the seed
and hardens in the same crystal structure as the seed. The pulling speed (10–40 millimeters per hour)
and temperature (approximately 2,500°F) are carefully controlled, which causes the crystal to grow
with a narrow neck that then widens into the full desired diameter. Depending on the chips being
made, each ingot is 200mm (approximately 8 inches) or 300mm (12 inches) in diameter and more
than 5 feet long, weighing hundreds of pounds.
Processor Manufacturing
Chapter 3
69
Seed
Single silicon crystal
Water-cooled chamber
Heat shield
Carbon heater
Graphite crucible
Crucible support
Spill tray
Electrode
Figure 3.4
Growing a pure silicon ingot in a high-pressure, high-temperature oven.
The ingot is then ground into a perfect 200mm- (8-inch) or 300mm-diameter (12-inch) cylinder, with
a small flat or notch cut on one side for handling and positioning. Each ingot is then sliced with a
high-precision saw into more than a thousand circular wafers, each less than a millimeter thick. The
wafers are then polished to a mirror-smooth surface to make them ready for imprinting. A finished
wafer with imprinted chips is shown in Figure 3.5.
Figure 3.5
200mm (8-inch) wafer containing 177 full Pentium 4 Northwood (0.13-micron) processor cores.
70
Chapter 3
Processor Types and Specifications
Chips are manufactured from the wafers using a process called photolithography. Through this photographic process, transistors and circuit and signal pathways are created in semiconductors by depositing different layers of various materials on the chip, one after the other. Where two specific circuits
intersect, a transistor or switch can form.
The photolithographic process starts when an insulating layer of silicon dioxide is grown on the wafer
through a vapor deposition process. Then a coating of photoresist material is applied, and an image of
that layer of the chip is projected through a mask onto the now light-sensitive surface.
Doping is the term that describes chemical impurities added to silicon (which is naturally a nonconductor), creating a material with semiconductor properties. The projector uses a specially created
mask, which is essentially a negative of that layer of the chip etched in chrome on a quartz plate.
Modern processors have 20 or more layers of material deposited and partially etched away (each
requiring a mask) and up to six or more layers of metal interconnects.
As the light passes through a mask, the light is focused on the wafer surface, exposing the photoresist
with the image of that layer of the chip. Each individual chip image is called a die. A device called a
stepper then moves the wafer over a little bit, and the same mask imprints another chip die immediately next to the previous one. After the entire wafer is imprinted with a layer of material and photoresist, a caustic solution washes away the areas where the light struck the photoresist, leaving the
mask imprints of the individual chip circuit elements and pathways. Then another layer of semiconductor material is deposited on the wafer with more photoresist on top, and the next mask exposes
and then etches the next layer of circuitry. Using this method, the layers and components of each
chip are built one on top of the other until the chips are completed (refer to Figure 3.5).
Some of the masks add the metallization layers, which are the metal interconnects that tie all the individual transistors and other components together. Most older chips use aluminum interconnects,
although in 2002 many moved to copper. The first commercial PC processor chip to use copper was
the 0.18-micron Athlon made in AMD’s Dresden fab, and Intel shifted the Pentium 4 to copper with
the 0.13-micron Northwood version. Copper is a better conductor than aluminum and allows smaller
interconnects with less resistance, meaning smaller and faster chips can be made. Copper hadn’t been
used previously because there were difficult corrosion problems to overcome during the manufacturing process that were not as much of a problem with aluminum.
Table 3.8
CPU Process/Wafer Size Transitions from 1971 to 2001
Date
1971
1974
1976
1982
1989
Mfg. Process (microns)
10μm
6μm
3μm
1.5μm
1.0μm
Mfg. Process (nanometers)
10,000nm
6,000nm
3,000nm
1,500nm
1000nm
Wafer Size (millimeters)
50.8mm
76.2mm
100mm
100mm
150mm
Wafer Size (inches)
2 in
3 in
4 in
4 in
6 in
Intel first used 150mm (6 inch) wafers in 1983 and 200mm (8 inch) wafers in 1993.
Table 3.9
CPU Process/Wafer Size Transitions from 2002 to 2022
Date
2002
2004
2006
2008
2010
Mfg. Process (microns)
0.13μm
0.09μm
0.065μm
0.045μm
0.032μm
Mfg. Process (nanometers)
130nm
90nm
65nm
45nm
32nm
Wafer Size (millimeters)
300mm
300mm
300mm
300mm
300mm
Wafer Size (inches)
12 in
12 in
12 in
12 in
12 in
Intel first used 300mm (12-inch) wafers in 2002.
Processor Manufacturing
Chapter 3
71
Another technology used in chip manufacturing is called silicon on insulator (SOI). SOI uses a layered
silicon-insulator-silicon wafer substrate to reduce parasitic device capacitance, thus reducing current leakage and improving performance. In particular, AMD has used SOI for many of its processors since 2001.
A completed circular wafer has as many chips imprinted on it as can possibly fit. Because each chip
usually is square or rectangular, there are some unused portions at the edges of the wafer, but every
attempt is made to use every square millimeter of surface.
The industry is going through several transitions in chip manufacturing. The trend in the industry is
to use both larger wafers and a smaller manufacturing process. The process refers to the size and line
spacing of the individual circuits and transistors on the chip, whereas the wafer size refers to the diameter of the circular wafers on which the chips are imprinted.
In 2002, chip manufacturing began moving from 200mm (8-inch) diameter wafers to larger 300mm
(12-inch) wafers. The larger 300mm wafers enable more than double the number of chips to be made
compared to the 200mm used previously. In addition, the transitions to smaller and smaller processes
enable more transistors to be incorporated into the chip die.
With more recent processors, smaller manufacturing processes have also been used to make more
space available in each processor die for features such as multiple processor cores, CPU-integrated
video, and large L3 caches. Thus, the Nehalem Core i7 six-core processor, although it uses a 45nm
process, has a much larger core size than the Pentium 4 Northwood (which was built on a 130nm
process): 263 square millimeters for the Nehalem (731 million transistors), versus just 131 square millimeters for Northwood (55 million transistors). As a result, the Nehalem Core i7 processors have a
yield of 240 die candidates per wafer, about half of the yield of the Northwood.
The industry began moving to the 90-nanometer (0.09-micron) process in 2004, the 65-nanometer in
2006, the 45-nanometer process in 2008, and the 32-nanometer process in 2010.
These will still be made on 300mm wafers because the next wafer transition isn’t expected until 2014,
when a transition to 450mm wafers is expected.
Table 3.8 shows the CPU manufacturing process and silicon wafer size transitions for the first 30 years
from when the processor debuted (1971–2001). Table 3.9 shows the continuing evolution of these
transitions from 2002 through the present, and all the way to 2022, including several planned future
transitions.
1992
1994
1995
1997
1999
0.8μm
0.6μm
0.35μm
0.25μm
0.18μm
0.13μm
800nm
600nm
350nm
250nm
180nm
130nm
200mm
200mm
200mm
200mm
200mm
200mm
6 in
8 in
8 in
8 in
8 in
8 in
2012
2014
2016
2018
0.022μm
0.016μm
0.011μm
0.008μm
0.006μm
0.004μm
22nm
16nm
11nm
8nm
6nm
4nm
300mm
450mm
450mm
450mm
450mm
450mm
12 in
18 in
18 in
18 in
18 in
18 in
2020
2001
2022
72
Chapter 3
Processor Types and Specifications
Note that not all the chips on each wafer will be good, especially as a new production line starts. As
the manufacturing process for a given chip or production line is perfected, more and more of the
chips will be good. The ratio of good to bad chips on a wafer is called the yield. Yields well below 50%
are common when a new chip starts production; however, by the end of a given chip’s life, the yields
are normally in the 90% range. Most chip manufacturers guard their yield figures and are secretive
about them because knowledge of yield problems can give their competitors an edge. A low yield
causes problems both in the cost per chip and in delivery delays to their customers. If a company has
specific knowledge of competitors’ improving yields, it can set prices or schedule production to get
higher market share at a critical point.
After a wafer is complete, a special fixture tests each of the chips on the wafer and marks the bad ones
to be separated later. The chips are then cut from the wafer using either a high-powered laser or a diamond saw.
After being cut from the wafers, the individual dies are retested, packaged, and retested again. The
packaging process is also referred to as bonding because the die is placed into a chip housing in which
a special machine bonds fine gold wires between the die and the pins on the chip. The package is the
container for the chip die, which essentially seals it from the environment.
After the chips are bonded and packaged, final testing is done to determine both proper function and
rated speed. Different chips in the same batch often run at different speeds. Special test fixtures run
each chip at different pressures, temperatures, and speeds, looking for the point at which the chip
stops working. At this point, the maximum successful speed is noted and the final chips are sorted
into bins with those that tested at a similar speed.
One interesting thing about this is that as a manufacturer gains more experience and perfects a particular chip assembly line, the yield of the higher-speed versions goes way up. So, of all the chips produced from a single wafer, perhaps more than 75% of them check out at the highest speed, and only
25% or less run at the lower speeds. The paradox is that Intel often sells a lot more of the lowerpriced, lower-speed chips, so it just dips into the bin of faster ones, labels them as slower chips, and
sells them that way. People began discovering that many of the lower-rated chips actually ran at
speeds much higher than they were rated, and the business of overclocking was born. Similarly, some
lower-cost multi-core processors from AMD have the same physical number of cores as higher-cost
ones, but some cores are disabled during manufacturing.
Processor Re-Marking
Processor remarking, the alterations of chip marking to make a slower chip masquerade as a faster
chip, was once a major problem when virtually all processors could be overclocked (run at faster clock
speeds than normal). However, with the advent of retail boxed processors, clock multiplier locks in
most models, and utility programs such as CPU-Z that can identify processor names and features,
processor remarking is now minimal compared to its heyday over a decade ago.
To make sure your system has the processor you paid for, download and run a copy of CPU-Z
(http://www.cpuid.com/softwares/cpu-z.html). CPU-Z is the de facto standard for CPU identification
and feature display.
PGA Chip Packaging
Variations on the pin grid array (PGA) chip packaging have been the most commonly used chip packages over the years. They were used starting with the 286 processor in the 1980s and are still used
today, although not in all CPU designs. PGA takes its name from the fact that the chip has a grid-like
array of pins on the bottom of the package. PGA chips are inserted into sockets, which are often of a
zero insertion force (ZIF) design. A ZIF socket has a lever to allow for easy installation and removal of
the chip.
Processor Manufacturing
Chapter 3
73
Most original Pentium processors use a variation on the regular PGA called staggered pin grid array
(SPGA), in which the pins are staggered on the underside of the chip rather than in standard rows
and columns. This was done to move the pins closer together and decrease the overall size of the chip
when a large number of pins is required. Figure 3.6 shows a Pentium Pro that uses the dual-pattern
SPGA (on the right) next to a Pentium 66 that uses the regular PGA. Note that the right half of the
Pentium Pro shown here has additional pins staggered among the other rows and columns.
Figure 3.6
PGA on Pentium 66 (left) and dual-pattern SPGA on Pentium Pro (right).
Early PGA variations mounted the processor die in a cavity under the substrate, whereas so-called
“Flip Chip” versions mount the processor die upside down so that less expensive solder bonding
rather than expensive wire bonding can be used to connect the processor die to the chip package.
Unfortunately, there were some problems with attaching the heatsink to an FC-PGA chip. The
heatsink sat on the top of the die, which acted as a pedestal. If you pressed down on one side of the
heatsink excessively during the installation process (such as when you were attaching the clip), you
risked cracking the silicon die and destroying the chip. This was especially a problem as heatsinks
became larger and heavier and the force applied by the clip became greater. Intel and AMD now use a
metal cap called a heat spreader over the top of the CPU to prevent damage when the heatsink is
installed. This type of packaging is known as FC-PGA2 and was used by Intel for all Pentium 4 and
subsequent chips. AMD began to use it with its Athlon 64 processors and subsequent chips.
Future packaging directions may include what is called bumpless build-up layer (BBUL) packaging. This
embeds the die completely in the package; in fact, the package layers are built up around and on top
of the die, fully encapsulating it within the package. This embeds the chip die and allows for a full
flat surface for attaching the heatsink, as well as shorter internal interconnections within the package.
BBUL is designed to handle extremely high clock speeds of 20GHz or faster, but is not yet necessary.
Single Edge Contact and Single Edge Processor Packaging
Intel and AMD used cartridge- or board-based packaging for some of their processors from 1997
through 2000. This packaging was called single edge contact cartridge (SECC) or single edge processor package (SEPP) and consisted of the CPU and optional separate L2 cache chips mounted on a circuit board
that looked similar to an oversized memory module and that plugged into a slot. In some cases, the
boards were covered with a plastic cartridge.
To learn more about SECC and SEPP packaging, see “Single Edge Contact and Single Edge Processor
Packaging” in Chapter 3 of Upgrading and Repairing PCs, 19th edition, included in its entirety on the
disc packaged with this book.
74
Chapter 3
Processor Types and Specifications
Processor Socket and Slot Types
Intel and AMD have created a set of socket and slot designs for their processors. Each socket or slot is
designed to support a different range of original and upgrade processors. Table 3.10 shows the designations for the various standard processor sockets/slots and lists the chips designed to plug into them.
Table 3.10
CPU Socket Specifications
Chip Class
Socket
Pins
Layout
Voltage
486
Socket
Socket
Socket
Socket
169
238
237
235
17¥17
19¥19
19¥19
19¥19
5V
5V
5V/3.3V
3.3V
586
Socket 4
Socket 5
Socket 7
273
320
321
21¥21 PGA
37¥37 SPGA
37¥37 SPGA
5V
3.3V/3.5V
VRM
686
Socket 8
Slot 1 (SC242)
Socket 370
387
242
370
Dual-pattern SPGA
Slot
37¥37 SPGA
Auto VRM
Auto VRM
Auto VRM
Intel P4/Core
Socket 423
Socket 478
Socket T (LGA775)
LGA1156 (Socket H)
LGA1366 (Socket B)
LGA1155 (Socket H2)
423
478
775
1156
1366
1155
39¥39
26¥26
30¥33
40¥40
41¥43
40¥40
Auto
Auto
Auto
Auto
Auto
Auto
AMD K7 class
Slot A
Socket A (462)
242
462
Slot
37¥37 SPGA
Auto VRM
Auto VRM
AMD K8 class
Socket
Socket
Socket
Socket
Socket
Socket
Socket
Socket
754
939
940
940
940
9412
9412
1207
29¥29
31¥31
31¥31
31¥31
31¥31
31¥31
31¥31
35¥35
mPGA
mPGA
mPGA
mPGA
mPGA
mPGA
mPGA
LGA
Auto
Auto
Auto
Auto
Auto
Auto
Auto
Auto
VRM
VRM
VRM
VRM
VRM
VRM
VRM
VRM
Server/Workstation
Slot 2 (SC330)
Socket 603
Socket 604
Socket PAC418
Socket PAC611
LGA771 (Socket J)
Socket M (PGA478MT)
LGA1567
Socket 940
Socket F (1207 FX)
330
603
604
418
611
771
478
1567
940
1207
Slot
31¥25
31¥25
38¥22
25¥28
30¥33
26¥26
38¥43
31¥31
35¥35
mPGA
mPGA
split SPGA
mPGA
LGA
PGA
LGA
mPGA
LGA
Auto
Auto
Auto
Auto
Auto
Auto
Auto
Auto
Auto
Auto
VRM
VRM
VRM
VRM
VRM
VRM
VRM
VRM
VRM
VRM
1
2
3
61
754
939
940
AM2
AM2+
AM3
AM3+
F (1207 FX)
1. Socket 6 was never actually implemented in systems.
2. Socket has 941 pins, but CPUs for Socket AM3 have
938 pins.
FC-PGA = Flip-chip pin grid array
PGA
PGA
PGA
PGA
SPGA
mPGA
LGA
LGA
LGA
LGA
VRM
VRM
VRM
VRM
VRM
VRM
FC-PGA2 = FC-PGA with an integrated heat spreader (IHS)
LGA = Land grid array
OverDrive = Retail upgrade processors
PAC = Pin array cartridge
PGA = Pin grid array
Processor Socket and Slot Types
Chapter 3
75
Sockets 1, 2, 3, and 6 are 486 processor sockets and are shown together in Figure 3.7 so you can see
the overall size comparisons and pin arrangements between these sockets. Sockets 4, 5, 7, and 8 are
Pentium and Pentium Pro processor sockets and are shown together in Figure 3.8 so you can see the
overall size comparisons and pin arrangements between these sockets.
Supported Processors
Introduced
486
486
486
486
Apr. 1989
Mar. 1992
Feb. 1994
Feb. 1994
SX/SX2, DX/DX2, DX4 OD
SX/SX2, DX/DX2, DX4 OD, 486 Pentium OD
SX/SX2, DX/DX2, DX4, 486 Pentium OD, AMD 5x86
DX4, 486 Pentium OD
Pentium 60/66, OD
Pentium 75-133, OD
Intel Pentium 75-233+, MMX, OD, AMD K5/K6, Cyrix M1/II
Mar. 1993
Mar. 1994
Jan. 1997
Intel Pentium Pro, OD
Intel Pentium II/III SECC, Celeron SEPP
Intel Celeron/Pentium III PPGA/FC-PGA, VIA/Cyrix III/C3
Nov. 1995
May 1997
Nov. 1998
Intel
Intel
Intel
Intel
Intel
Intel
Nov. 2000
Oct. 2001
June 2004
Sept. 2009
Nov. 2008
Jan. 2011
Pentium 4 FC-PGA
Pentium 4/Celeron FC-PGA2, Celeron D
Pentium 4/Extreme Edition, Pentium D, Celeron D, Pentium dual-core, Core2
Pentium, Core i3/i5/i7, Xeon
Core i7, Xeon
Core i7, i5, i3
AMD Athlon SECC
AMD Athlon/Athlon XP/Duron PGA/FC-PGA
June 1999
June 2000
AMD
AMD
AMD
AMD
AMD
AMD
AMD
AMD
Sep. 2003
June 2004
Apr.2003
May 2006
Nov. 2007
Feb. 2009
Mid-2011 (expected)
Aug. 2006
Athlon 64
Athlon 64 v.2
Athlon 64 FX, Opteron
Athlon 64/64FX/64 X2, Sempron, Opteron, Phenom
Athlon 64/64 X2, Opteron, Phenom X2/X3/X4. II X4
Athlon II, Phenom II, Sempron
“Bulldozer” processors
Athlon 64 FX, Opteron
Intel Pentium II/III Xeon
Intel Xeon (P4)
Intel Xeon (P4)
Intel Itanium
Itanium 2
Intel Xeon
Intel Xeon
Intel Xeon
AMD Athlon 64 FX, Opteron
AMD Athlon 64 FX, Opteron
PPGA = Plastic pin grid array
SECC = Single edge contact cartridge
SEPP = Single edge processor package
SPGA = Staggered pin grid array
mPGA = Micro pin grid array
Apr. 1998
May 2001
Oct. 2003
May 2001
July 2002
Jun. 2006
Jan. 2006
April 2011
Apr. 2003
Aug. 2006
VRM = Voltage regulator module with variable voltage output determined by module type or manual jumpers
Auto VRM = Voltage regulator module with automatic voltage selection determined by processor voltage ID (VID)
pins
76
Chapter 3
Processor Types and Specifications
Socket 1
Figure 3.7
Socket 3
Socket 6
486 processor sockets.
Socket 4
Figure 3.8
Socket 2
Socket 5
Socket 7
Socket 8
Pentium and Pentium Pro processor sockets.
When the Socket 1 specification was created, manufacturers realized that if users were going to
upgrade processors, they had to make the process easier. The socket manufacturers found that 100 lbs.
of insertion force is required to install a chip in a standard 169-pin Socket 1 motherboard. With this
much force involved, you easily could damage either the chip or the socket during removal or reinstallation. Because of this, some motherboard manufacturers began using low insertion force (LIF)
sockets, which required a smaller 60 lbs. of insertion force for a 169-pin chip. Pressing down on the
motherboard with 60–100 lbs. of force can crack the board if it is not supported properly. A special
tool is also required to remove a chip from one of these sockets. As you can imagine, even the LIF was
relative, and a better solution was needed if the average person was ever going to replace his CPU.
Manufacturers began using ZIF sockets in Socket 1 designs, and all processor sockets from Socket 2
and higher have been of the ZIF design. ZIF is required for all the higher-density sockets because the
insertion force would simply be too great otherwise. ZIF sockets almost eliminate the risk involved in
installing or removing a processor because no insertion force is necessary to install the chip and no
tool is needed to extract one. Most ZIF sockets are handle-actuated: You lift the handle, drop the chip
into the socket, and then close the handle. This design makes installing or removing a processor easy.
The following sections take a closer look at those socket designs you are likely to encounter in active PCs.
For more information about Socket 370 (PGA-370), Socket 423, Socket A, and Socket 754, see Chapter
3, “Processor Types and Specifications,” of Upgrading and Repairing PCs, 19th edition, found in its
entirety on the DVD packaged with this book.
Socket 478
Socket 478 is a ZIF-type socket for the Pentium 4 and Celeron 4 (Celerons based on the Pentium 4
core) introduced in October 2001. It was specially designed to support additional pins for future
Pentium 4 processors and speeds over 2GHz. The heatsink mounting is different from the previous
Socket 423, allowing larger heatsinks to be attached to the CPU. Figure 3.9 shows Socket 478.
Processor Socket and Slot Types
Chapter 3
77
MPGA478B
Pin 1
Figure 3.9
Socket 478 (Pentium 4) showing pin 1 location.
Socket 478 supports a 400MHz, 533MHz, or 800MHz processor bus that connects the processor to the
MCH, which is the main part of the motherboard chipset.
Socket 478 uses a heatsink attachment method that clips the heatsink directly to the motherboard,
and not the CPU socket or chassis (as with Socket 423). Therefore, any standard chassis can be used,
and the special standoffs used by Socket 423 boards are not required. This heatsink attachment allows
for a much greater clamping load between the heatsink and processor, which aids cooling.
Socket 478 processors use five VID pins to signal the VRM built into the motherboard to deliver the
correct voltage for the particular CPU you install. This makes the voltage selection completely automatic and foolproof. A small triangular mark indicates the pin-1 corner for proper orientation of the
chip.
Socket LGA775
Socket LGA775 (also called Socket T) is used by the Core 2 Duo/Quad processors, the latest versions of
the Intel Pentium 4 Prescott processor and the Pentium D and Pentium Extreme Edition processors.
Some versions of the Celeron and Celeron D also use Socket LGA775. Socket LGA775, unlike earlier
Intel processor sockets, uses a land grid array format, so the pins are on the socket, rather than the
processor.
LGA uses gold pads (called lands) on the bottom of the processor to replace the pins used in PGA
packages. It allows for much greater clamping forces via a load plate with a locking lever, with greater
stability and improved thermal transfer (better cooling). The first LGA processors were the Pentium II
and Celeron processors in 1997; in those processors, an LGA chip was soldered on the Slot-1 cartridge.
LGA is a recycled version of what was previously called leadless chip carrier (LCC) packaging. This was
used way back on the 286 processor in 1984, and it had gold lands around the edge only. (There were
far fewer pins back then.) In other ways, LGA is simply a modified version of ball grid array (BGA),
with gold lands replacing the solder balls, making it more suitable for socketed (rather than soldered)
applications. Socket LGA775 is shown in Figure 3.10.
78
Chapter 3
Processor Types and Specifications
Figure 3.10 Socket LGA775 (Socket T). The release lever on the left raises the load plate out of the way to
permit the processor to be placed over the contacts.
Socket LGA1156
Socket LGA1156 (also known as Socket H) was introduced in September 2009 and was designed to support Intel Core i Series processors featuring an integrated chipset north bridge, including a dual-channel
DDR3 memory controller and optional integrated graphics. Socket LGA1156 uses a land grid array format, so the pins are on the socket, rather than the processor. Socket LGA1156 is shown in Figure 3.11.
Figure 3.11
Socket LGA1156 (Socket H).
Because the processor includes the chipset north bridge, Socket LGA1156 is designed to interface
between a processor and a Platform Controller Hub (PCH), which is the new name used for the south
bridge component in supporting 5x series chipsets. The LGA1156 interface includes the following:
Processor Socket and Slot Types
Chapter 3
79
■ PCI Express x16 v2.0—For connection to either a single PCIe x16 slot, or two PCIe x8 slots
supporting video cards.
■ DMI (Direct Media Interface)—For data transfer between the processor and the PCH. DMI in
this case is essentially a modified PCI Express x4 v2.0 connection, with a bandwidth of 2GBps.
■ DDR3 dual-channel—For direct connection between the memory controller integrated into
the processor and DDR3 SDRAM modules in a dual-channel configuration.
■ FDI (Flexible Display Interface)—For the transfer of digital display data between the
(optional) processor integrated graphics and the PCH.
When processors with integrated graphics are used, the Flexible Display Interface carries digital display data from the GPU in the processor to the display interface circuitry in the PCH. Depending on
the motherboard, the display interface can support DisplayPort, High Definition Multimedia Interface
(HDMI), Digital Visual Interface (DVI), or Video Graphics Array (VGA) connectors.
Socket LGA1366
Socket LGA1366 (also known as Socket B) was introduced in November 2008 to support high-end
Intel Core i Series processors, including an integrated triple-channel DDR3 memory controller, but
which also requires an external chipset north bridge, in this case called an I/O Hub (IOH). Socket
LGA1366 uses a land grid array format, so the pins are on the socket, rather than the processor.
Socket LGA1366 is shown in Figure 3.12.
Figure 3.12
Socket LGA1366 (Socket B).
Socket LGA1366 is designed to interface between a processor and an IOH, which is the new name
used for the north bridge component in supporting 5x series chipsets. The LGA1366 interface
includes the following:
■ QPI (Quick Path Interconnect)—For data transfer between the processor and the IOH. QPI
transfers 2 bytes per cycle at either 4.8 or 6.4GHz, resulting in a bandwidth of 9.6 or 12.8GBps.
■ DDR3 triple-channel—For direct connection between the memory controller integrated into
the processor and DDR3 SDRAM modules in a triple-channel configuration.
LGA1366 is designed for high-end PC, workstation, or server use. It supports configurations with
multiple processors.
80
Chapter 3
Processor Types and Specifications
Socket LGA1155
Socket LGA1155 (also known as Socket H2) was introduced in January 2011 to support Intel’s Sandy
Bridge (second-generation) Core i Series processors, which now include Turbo Boost overclocking.
Socket LGA1155 uses a land grid array format, so the pins are on the socket, rather than the
processor. Socket LGA1155 uses the same cover plate as Socket 1156, but is not interchangeable
with it.
Socket LGA1155 is shown in Figure 3.13.
Figure 3.13
Socket LGA1155 (Socket H2) before installing a processor.
Socket 939 and 940
Socket 939 is used with the Socket 939 versions of the AMD Athlon 64, 64 FX, and 64 X2 (see Figure
3.14). It’s also used by some versions of the AMD Opteron processor for workstations and servers.
Motherboards using this socket support conventional unbuffered DDR SDRAM modules in either
single- or dual-channel mode, rather than the server-oriented (more expensive) registered modules
required by Socket 940 motherboards. Sockets 939 and 940 have different pin arrangements and
processors for each and are not interchangeable.
Socket 940 is used with the Socket 940 version of the AMD Athlon 64 FX, as well as most AMD
Opteron processors (see Figure 3.15). Motherboards using this socket support only registered DDR
SDRAM modules in dual-channel mode. Because the pin arrangement is different, Socket 939 processors do not work in Socket 940, and vice versa.
Processor Socket and Slot Types
Figure 3.14 Socket 939. The cutout corner and
triangle at the lower left indicate pin 1.
Chapter 3
81
Figure 3.15 Socket 940. The cutout corner and
triangle at the lower left indicate pin 1.
Socket AM2/AM2+/AM3/AM3+
In May 2006, AMD introduced processors that use a new socket, called Socket AM2 (see Figure 3.16).
AM2 was the first replacement for the confusing array of Socket 754, Socket 939, and Socket 940 form
factors for the Athlon 64, Athlon 64 FX, and Athlon 64 X2 processors.
Although Socket AM2 contains 940 pins—the same number that Socket 940 uses—Socket AM2 is
designed to support the integrated dual-channel DDR2 memory controllers that were added to the
Athlon 64 and Opteron processor families in 2006. Processors designed for Sockets 754, 939, and 940
include DDR memory controllers and are not pin compatible with Socket AM2. Sockets 939, 940, and
AM2 support HyperTransport v2.0, which limits most processors to a 1GHz FSB.
Socket AM2+ is an upgrade to Socket AM2 that was released in November 2007. Although Sockets
AM2 and AM2+ are physically the same, Socket AM2+ adds support for split power planes and
HyperTransport 3.0, allowing for FSB speeds of up to 2.6GHz. Socket AM2+ chips are backward compatible with Socket AM2 motherboards, but only at reduced HyperTransport 2.0 FSB speeds. Socket
AM2 processors can technically work in Socket AM2+ motherboards; however, this also requires BIOS
support, which is not present in all motherboards.
Socket AM3 was introduced in February 2009, primarily to support processors with integrated DDR3
memory controllers such as the Phenom II. Besides adding support for DDR3 memory, Socket AM3
has 941 pins in a modified key pin configuration that physically prevents Socket AM2 or AM2+
processors from being inserted (see Figure 3.17).
82
Chapter 3
Processor Types and Specifications
Figure 3.16 Socket AM2/AM2+. The arrow
(triangle) at the lower left indicates pin 1.
Figure 3.17 Socket AM3. The arrow (triangle)
at the lower left indicates pin 1.
Socket AM3+ is a modified version of AM3 designed for the new “Bulldozer” processors. It has 938
pins, and also supports processors made for AM3 sockets. Table 3.11 shows the essential differences
between Socket AM2, AM2+, AM3, and AM3+.
Table 3.11
Socket AM2, AM2+, AM3, and AM3+ Features
Features
Socket AM2
Socket AM2+
Socket AM3
Socket AM3+
Number of Pins
940
940
938
938
Hyper-Transport
(FSB) Support
2.0 (up to 1.4GHz)
3.0 (up to 2.6GHz)
3.0 (up to 2.6GHz)
3.0 (up to 2.6GHz)
Supported Memory
DDR2 (dual-channel)
DDR2 (dual-channel)
DDR3 (dual-channel)
DDR3 (dual-channel)
Supported Processors
Socket AM2, AM2+,
or AM3
Socket AM2, AM2+,
AM3
Socket AM3
Socket AM3+
or AM3
Here is a summary of the compatibility between AM2, AM2+,AM3, and AM3+ processors and motherboards:
■ You cannot install Socket AM2 or AM2+ processors in Socket AM3 motherboards.
■ You can install Socket AM2 processors in Socket AM2+ motherboards.
■ You can install Socket AM3 or AM2+ processors in Socket AM2 motherboards; however, the
BIOS must support the processor, the FSB will run at lower HT 2.0 speeds, and only DDR2
memory is supported.
■ You can install Socket AM3 processors in Socket AM2+ motherboards, but the BIOS must
support the processor, and only DDR2 memory is supported.
■ You can install Socket AM3 processors in Socket AM3+ motherboards, but the BIOS must
support the processor.
Although you can physically install newer processors in motherboards with older sockets, and they
should theoretically work with reductions in bus speeds and memory support, this also requires BIOS
support in the specific motherboard, which may be lacking. In general, you are best off matching the
processor to a motherboard with the same type of socket.
Math Coprocessors (Floating-Point Units)
Chapter 3
83
Socket F (1207FX)
Socket F (also called 1207FX) was introduced by AMD in August 2006 for its Opteron line of server
processors. Socket F is AMD’s first land grid array (LGA) socket, similar to Intel’s Socket LGA775. It features 1,207 pins in a 35-by-35 grid, with the pins in the socket instead of on the processor. Socket F
normally appears on motherboards in pairs because it is designed to run dual physical processors on a
single motherboard. Socket F was utilized by AMD for its Quad FX processors, which are dual-core
processors sold in matched pairs, operating as a dual socket dual-core system. Future versions may support quad-core processors, for a total of 8 cores in the system. Due to the high expense of running dual
physical processors, only a limited number of nonserver motherboards are available with Socket F.
CPU Operating Voltages
One trend that is clear to anybody who has been following processor design is that the operating voltages keep getting lower. The benefits of lower voltage are threefold. The most obvious is that with
lower voltage comes lower overall power consumption. By consuming less power, the system is less
expensive to run, but more importantly for portable or mobile systems, it runs much longer on existing battery technology. The emphasis on battery operation has driven many of the advances in lowering processor voltage because this has a great effect on battery life.
The second major benefit is that with less voltage and therefore less power consumption, less heat is
produced. Processors that run cooler can be packed into systems more tightly and last longer.
The third major benefit is that a processor running cooler on less power can be made to run faster.
Lowering the voltage has been one of the key factors in enabling the clock rates of processors to go
higher and higher. This is because the lower the voltage, the shorter the time needed to change a signal from low to high.
Starting with the Pentium Pro, all newer processors automatically determine their voltage settings by
controlling the motherboard-based voltage regulator. That’s done through built-in VID pins.
For overclocking purposes, many motherboards have override settings that allow for manual voltage
adjustment if desired. Many people have found that, when attempting to overclock a processor,
increasing the voltage by a tenth of a volt or so often helps. Of course, this increases the heat output
of the processor and must be accounted for with adequate cooling.
Note
Although modern processors use VID pins to enable them to select the correct voltage, newer processors that use the same
processor socket as older processors might use a voltage setting the motherboard does not support. Before upgrading an
existing motherboard with a new processor, make sure the motherboard will support the processor’s voltage and other features. You might need to install a BIOS upgrade before upgrading the processor to ensure that the motherboard properly
recognizes the processor.
Math Coprocessors (Floating-Point Units)
Older CPUs designed by Intel (and cloned by other companies) used an external math coprocessor
chip to perform floating-point operations. However, when Intel introduced the 486DX, it included a
built-in math coprocessor, and every processor built by Intel (and AMD and Cyrix/VIA, for that matter) since then includes a math coprocessor. Coprocessors provide hardware for floating-point math,
which otherwise would create an excessive drain on the main CPU. Math chips speed your computer’s
operation only when you are running software designed to take advantage of the coprocessor.
84
Chapter 3
Processor Types and Specifications
Note
Most applications that formerly used floating-point math now use MMX/SSE instructions instead. These instructions are
faster and more accurate than x87 floating-point math.
To learn more about math coprocessors for 8088 through 80386 processors, see “Math Coprocessors
(Floating Point Units)” in Chapter 3 of Upgrading and Repairing PCs, 19th edition, included in its
entirety on the disc packaged with this book.
Processor Bugs and Steppings
Processor manufacturers use specialized equipment to test their own processors, but you have to settle
for a little less. The best processor-testing device to which you have access is a system that you know
is functional; you then can use the diagnostics available from various utility software companies or
your system manufacturer to test the motherboard and processor functions.
Perhaps the most infamous of these bugs is the floating-point division math bug in the early Pentium
processors. This and a few other bugs are discussed in detail later in this chapter.
Because the processor is the brain of a system, most systems don’t function with a defective processor.
If a system seems to have a dead motherboard, try replacing the processor with one from a functioning motherboard that uses the same CPU chip. You might find that the processor in the original
board is the culprit. If the system continues to play dead, however, the problem is elsewhere, most
likely in the motherboard, memory, or power supply. See the chapters that cover those parts of the
system for more information on troubleshooting those components. I must say that in all my years of
troubleshooting and repairing PCs, I have rarely encountered defective processors.
A few system problems are built in at the factory, although these bugs or design defects are rare. By
learning to recognize these problems, you can avoid unnecessary repairs or replacements. Each processor section describes several known defects in that generation of processors, such as the infamous
floating-point error in the Pentium. For more information on these bugs and defects, see the following sections, and check with the processor manufacturer for updates.
Microcode and the Processor Update Feature
All processors can contain design defects or errors. Many times, you can avoid the effects of any given bug by implementing hardware or software workarounds. Intel documents these bugs and workarounds well for its processors in the processor Specification Update manual that is available from Intel’s website. Most of the other processor manufacturers also have
bulletins or tips on their websites listing any problems or special fixes or patches for their chips.
Previously, the only way to fix a processor bug was to work around it or replace the chip with one that had the bug fixed.
Starting with the Intel P6 and P7 family processors, including the Pentium Pro through Pentium D and Core i7, many bugs in
a processor’s design can be fixed by altering the microcode in the processor. Microcode is essentially a set of instructions
and tables in the processor that control the way the processor operates. These processors incorporate a new feature called
reprogrammable microcode, which enables certain types of bugs to be worked around via microcode updates. The microcode updates reside in either the motherboard ROM BIOS or Windows updates and are loaded into the processor by the
motherboard BIOS during the POST or by Windows during the boot process. Each time the system is rebooted, the
updated microcode is reloaded, ensuring that it will have the bug fix installed anytime the system is operating.
The updated microcode for a given processor is provided by Intel to either the motherboard manufacturers or to Microsoft
so the code can be incorporated into the flash ROM BIOS for the board, or directly into Windows via Windows Update.
This is one reason it is important to keep Windows up to date, as well as to install the most recent motherboard BIOS for
your systems. Because it is easier for most people to update Windows than to update the motherboard BIOS, it seems that
more recent microcode updates are being distributed via Microsoft than the motherboard manufacturers.
P1 (086) Processors
Chapter 3
85
Processor Code Names
Intel, AMD, and VIA have always used code names when talking about future processors and processor cores. The code names usually are not supposed to become public, but they often do. They can
often be found in online and print news and magazine articles talking about future-generation processors. Sometimes they even appear in motherboard manuals because the manuals are written before
the processors are officially introduced.
Intel publishes a fairly complete list of processor, chipset, motherboard, and even Ethernet controller
code names on its website (http://ark.intel.com/#codenames). AMD doesn’t provide a single document on its site for its code names, but you can use a Google search such as “code name”
site:amd.com to find documents on the AMD website that contain code names. You can also find
information on other sites by doing a search.
P1 (086) Processors
Intel introduced the 8086 back in June 1978. The 8086 was one of the first 16-bit processor chips on
the market; at the time, virtually all other processors were 8-bit designs. The 8086 had 16-bit internal
registers and could run a new class of software using 16-bit instructions. It also had a 16-bit external
data path, so it could transfer data to memory 16 bits at a time. It contained 29,000 transistors and
could run at clock speeds of up to 5MHz.
The address bus was 20 bits wide, which enabled the 8086 to address a full 1MB (220) of memory. This
was in stark contrast to most other chips of that time that had 8-bit internal registers, an 8-bit external data bus, and a 16-bit address bus allowing a maximum of only 64KB of RAM (216).
Although not directly backward compatible with the 8080, the 8086 instructions and language were
similar and enabled older programs to quickly be ported over to run. This later proved important to
help jump-start the PC software revolution with recycled CP/M (8080) software.
Unfortunately, most of the personal computer world at the time was using 8-bit processors, which ran
8-bit CP/M (Control Program for Microprocessors) OSs and software. The board and circuit designs at
the time were largely 8-bit as well. Building a full 16-bit motherboard, expansion cards, and memory
system was costly, pricing such a computer out of the market.
The cost was high because the 8086 needed a 16-bit data bus rather than a less expensive 8-bit bus.
Systems available at that time were 8-bit, and slow sales of the 8086 indicated to Intel that people
weren’t willing to pay for the extra performance of the full 16-bit design. In response, Intel introduced a kind of crippled version of the 8086, called the 8088, in June 1979.
The 8088 processor used the same internal core as the 8086, had the same 16-bit registers, and could
address the same 1MB of memory, but the external data bus was reduced to 8 bits. This enabled support chips from the older 8-bit 8085 to be used, and far less expensive boards and systems could be
made. However, because it retained the full 16-bit internal registers and the 20-bit address bus, the
8088 ran 16-bit software and was capable of addressing a full 1MB of RAM.
For these reasons, IBM selected the 8-bit 8088 chip (running at 4.77MHz, taking 12 cycles for the
average instruction to complete) for the original IBM PC, which was introduced in August of 1981.
That event dramatically changed the fate of both Intel and Microsoft, which provided Microsoft Disk
Operating System (MS-DOS) version 1.0 for the new computer.
This decision would affect history in several ways. The 8088 was fully software compatible with the
8086, so it could run 16-bit software. Also, because the instruction set was similar to the previous
8085 and 8080, programs written for those older chips could quickly and easily be modified to run.
This enabled a large library of programs to be quickly released for the IBM PC, thus helping it become
a success. The overwhelming blockbuster success of the IBM PC left in its wake the legacy of requiring
86
Chapter 3
Processor Types and Specifications
backward compatibility with it. To maintain the momentum, Intel has pretty much been forced to
maintain backward compatibility with the 8088/8086 in most of the processors it has released since
then. Since the fateful decision was made to use an Intel processor in the first PC, subsequent PCcompatible systems have used a series of Intel or Intel-compatible processors, with each new one
capable of running the software of the processor before it.
Years later, IBM was criticized for using the 8-bit 8088 instead of the 16-bit 8086. In retrospect, it was
a wise decision. IBM even covered up the physical design in its ads, which at the time indicated its
new PC had a “high-speed 16-bit microprocessor.” IBM could say that because the 8088 still ran the
same powerful 16-bit software the 8086 ran, just a little more slowly. In fact, programmers universally
thought of the 8088 as a 16-bit chip because there was virtually no way a program could distinguish
an 8088 from an 8086. This enabled IBM to deliver a PC capable of running a new generation of 16bit software, while retaining a much less expensive 8-bit design for the hardware. Because of this, the
IBM PC was actually priced less at its introduction than the most popular PC of the time, the Apple II.
For the trivia buffs out there, the IBM PC listed for $1,265 and included only 16KB of RAM, whereas a
similarly configured Apple II cost $1,355.
It took over two years between the introduction of the 8088 and the release of the IBM PC. Back then,
a significant lag time often occurred between the introduction of a new processor and systems that
incorporated it. That is unlike today, when new processors and systems using them often are released
on the same day.
Computer users have sometimes wondered why a 640KB conventional-memory barrier exists if the
8088 chip can address 1MB of memory. The conventional-memory barrier exists because IBM reserved
384KB of the upper portion of the 1,024KB (1MB) address space of the 8088 for use by adapter cards
and system BIOS. The lower 640KB is the conventional memory in which DOS and software applications execute. Windows and other modern operating systems use memory that is primarily above
1MB.
P2 (286) Processors
In 1982, Intel introduced the Intel 80286 processor, normally abbreviated as 286. The first CPU
behind the original IBM PC AT (Advanced Technology), it did not suffer from the compatibility problems that damned the 80186 and 80188. Other computer makers manufactured what came to be
known as IBM clones, with many of these manufacturers calling their systems AT-compatible or ATclass computers.
When IBM developed the AT, it selected the 286 as the basis for the new system because the chip provided compatibility with the 8088 used in the PC and the XT. Therefore, software written for those
chips should run on the 286. The 286 chip is many times faster than the 8088 used in the XT, and at
the time it offered a major performance boost to PCs used in businesses. The processing speed, or
throughput, of the original AT (which ran at 6MHz) is five times greater than that of the PC running
at 4.77MHz. The die for the 286 is shown in Figure 3.18.
The 286 was faster than the 8088 for two reasons: it required only 4.5 cycles to perform the average
instruction (versus 12 on the 808x processors), and handled data in 16-bit chunks. The 286’s real
mode imitates an 808x processor, and the protected mode can access memory larger than 1MB. The
286 also supports multitasking.
For more about the 286 processor, see Chapter 3 of Upgrading and Repairing PCs, 19th edition, available
in its entirety on the disc packaged with this book.
P3 (386) Processors
Figure 3.18
Chapter 3
87
286 processor die. Photograph used by permission of Intel Corporation.
P3 (386) Processors
The third generation represents perhaps the most significant change in processors since the first PC.
The big deal was the migration from processors that handled 16-bit operations to true 32-bit chips. The
third-generation processors were so far ahead of their time that it took fully 10 years before 32-bit OSs
and software became mainstream, and by that time the third-generation chips had become a memory.
The Intel 80386 (usually abbreviated as 386) caused quite a stir in the PC industry because of the
vastly improved performance it brought to the personal computer. Compared to 8088 and 286 systems, the 386 chip offered greater performance in almost all areas of operation.
The 386 is a full 32-bit processor optimized for high-speed operation and multitasking OSs. Intel
introduced the chip in 1985, but the 386 appeared in the first systems in late 1986 and early 1987.
The Compaq Deskpro 386 and systems made by several other manufacturers introduced the chip;
somewhat later, IBM used the chip in its PS/2 Model 80.
The 386 can execute the real-mode instructions of an 8086 or 8088, but in fewer clock cycles. The 386
was as efficient as the 286 in executing instructions—the average instruction took about 4.5 clock
cycles. In raw performance, therefore, the 286 and 386 actually seemed to be at almost equal clock
rates. The 386 offered greater performance in other ways, mainly because of additional software capability (modes) and a greatly enhanced memory management unit (MMU). The die for the 386 is
shown in Figure 3.19.
88
Chapter 3
Figure 3.19
Processor Types and Specifications
386 processor die. Photograph used by permission of Intel Corporation.
The 386 can switch to and from protected mode under software control without a system reset—a
capability that makes using protected mode more practical. In addition, the 386 includes a new mode,
called virtual real mode, which enables several real mode sessions to run simultaneously under protected mode.
The protected mode of the 386 is fully compatible with the protected mode of the 286. Intel extended
the memory-addressing capabilities of 386 protected mode with a new MMU that provided advanced
memory paging and program switching. These features were extensions of the 286 type of MMU, so
the 386 remained fully compatible with the 286 at the system-code level.
The 386 chip’s virtual real mode was also new. In virtual real mode, the processor could run with
hardware memory protection while simulating an 8086’s real mode operation. Multiple copies of DOS
and other OSs, therefore, could run simultaneously on this processor, each in a protected area of
memory. If the programs in one segment crashed, the rest of the system was protected.
Numerous variations of the 386 chip were manufactured, some of which are less powerful and some
of which are less power hungry.
To learn more about the members of the 386 chip family, see Chapter 3 of Upgrading and Repairing
PCs, 19th Edition, available in its entirety on the disc packaged with this book.
P4 (486) Processors
Although fourth-generation processors were more about refinement than redesign, the Intel 80486
(normally abbreviated as 486) was another major leap forward in the race for speed. The additional
power available in the 486 fueled tremendous growth in the software industry. Tens of millions of
copies of Windows, and millions of copies of OS/2, have been sold largely because the 486 finally
made the graphical user interface (GUI) of Windows and OS/2 a realistic option for people who work
on their computers every day.
P4 (486) Processors
Chapter 3
89
The 486 is a family of processors, consisting of DX, SX, and a number of other variations. Four main
features make 486 processors roughly twice as fast as an equivalent MHz 386 chip:
■ Reduced instruction-execution time—A single instruction in the 486 takes an average of
only two clock cycles to complete, compared to an average of more than four cycles on the 386.
■ Internal (Level 1) cache—The built-in cache has a hit ratio of 90%–95%, which describes
how often zero-wait-state read operations occur. External caches can improve this ratio further.
■ Burst-mode memory cycles—A standard 32-bit (4-byte) memory transfer takes two clock
cycles. After a standard 32-bit transfer, more data up to the next 12 bytes (or three transfers) can
be transferred with only one cycle used for each 32-bit (4-byte) transfer. Thus, up to 16 bytes of
contiguous, sequential memory data can be transferred in as little as five cycles instead of eight
cycles or more. This effect can be even greater when the transfers are only 8 bits or 16 bits each.
■ Built-in (synchronous) enhanced math coprocessor (some versions)—The math
coprocessor runs synchronously with the main processor and executes math instructions in
fewer cycles than previous designs did. On average, the math coprocessor built into the DXseries chips provides two to three times greater math performance than an external 387 math
coprocessor chip.
The 486 chip is about twice as fast as the 386 at the same clock rate. You can see why the arrival of
the 486 rapidly killed off the 386 in the marketplace. The die for the 486 is shown in Figure 3.20.
Figure 3.20
486 processor die. Photograph used by permission of Intel Corporation
To learn more about the 486 processor family and the 486-based AMD 5x86, see Chapter 3 of
Upgrading and Repairing PCs, 19th Edition, available in its entirety on the disc packaged with this book.
90
Chapter 3
Processor Types and Specifications
P5 (586) Processors
After the fourth-generation chips such as the 486, Intel and other chip manufacturers went back to
the drawing board to come up with new architectures and features that they would later incorporate
into what they called fifth-generation chips.
On October 19, 1992, Intel announced that the fifth generation of its compatible microprocessor line
(code-named P5) would be named the Pentium processor. The actual Pentium chip shipped on March
22, 1993. Systems that used these chips were only a few months behind.
Note
Pentium, like Celeron and Athlon, has become a brand name in recent years rather than identifying a particular processor
type. This section discusses the original Pentium processors for Socket 5 and Socket 7.
The Pentium is fully compatible with previous Intel processors, but it differs from them in many ways.
At least one of these differences is revolutionary: The Pentium features twin data pipelines, which
enable it to execute two instructions at the same time. The 486 and all preceding chips can perform
only a single instruction at a time. Intel calls the capability to execute two instructions at the same
time superscalar technology. This technology provides additional performance compared to the 486.
With superscalar technology, the Pentium can execute many instructions at a rate of two instructions
per cycle. Superscalar architecture usually is associated with high-output RISC chips. The Pentium is
one of the first CISC chips to be considered superscalar. The Pentium is almost like having two 486
chips under the hood. Table 3.12 shows the Pentium processor specifications.
Table 3.12
Pentium Processor Specifications
Introduced
March 22, 1993 (first generation); March 7, 1994 (second generation)
Maximum rated speeds
60/66MHz (first generation); 75/90/100/120/133/150/166/200MHz
(second generation)
CPU clock multiplier
1x (first generation); 1.5x–3x (second generation)
Register size
32-bit
External data bus
64-bit
Memory address bus
32-bit
Maximum memory
4GB
Integral-cache size
8KB code; 8KB data
Integral-cache type
Two-way set associative; write-back data
Burst-mode transfers
Yes
Number of transistors
3.1 million (first generation); 3.3 million (second generation)
Circuit size
0.8 micron (60/66MHz); 0.6 micron (75MHz-100MHz); 0.35 micron (120MHz and up)
External package
273-pin PGA; 296-pin SPGA; tape carrier
Math coprocessor
Built-in FPU
Power management
SMM; enhanced in second generation
Operating voltage
5V (first generation); 3.465V, 3.3V, 3.1V, 2.9V (second generation)
PGA = Pin grid array
SPGA = Staggered pin grid array
Chapter 3
P5 (586) Processors
91
The two instruction pipelines within the chip are called the u- and v-pipes. The u-pipe, which is the
primary pipe, can execute all integer and floating-point instructions. The v-pipe is a secondary pipe
that can execute only simple integer instructions and certain floating-point instructions. The process
of operating on two instructions simultaneously in the different pipes is called pairing. Not all sequentially executing instructions can be paired, and when pairing is not possible, only the u-pipe is used.
To optimize the Pentium’s efficiency, you can recompile software to enable more instructions to be
paired.
The Pentium processor has a branch target buffer (BTB), which employs a technique called branch prediction. It minimizes stalls in one or more of the pipes caused by delays in fetching instructions that
branch to nonlinear memory locations. The BTB attempts to predict whether a program branch will
be taken and then fetches the appropriate instructions. The use of branch prediction enables the
Pentium to keep both pipelines operating at full speed. Figure 3.21 shows the internal architecture of
the Pentium processor.
Control
DP
logic
Branch Prefetch TLB
Code cache
target
8KBytes
buffer Address
256
Instruction
pointer
64-bit
data
bus
32-bit
address
bus
Control
ROM
Prefetch buffers
Instruction decode
Branch verif.
& target addr.
Bus
unit
Control unit
Page
unit
Address
generate
(U pipeline)
Control
Address
generate
(V pipeline)
Floatingpoint
unit
Control
Register file
Integer Register File
64-bit 64
data
bus
ALU
(U pipeline)
Barrel shifter
Control
Figure 3.21
80
Multiply
80
32
32
APIC
Add
Divide
32-bit
addr.
bus
Data
ALU
(V pipeline)
32
32
TLB
Data cache
8KBytes
32
32
32
Pentium processor internal architecture.
The Pentium has a 32-bit address bus width, giving it the same 4GB memory-addressing capabilities as
the 386DX and 486 processors. But the Pentium expands the data bus to 64 bits, which means it can
move twice as much data into or out of the CPU, compared to a 486 of the same clock speed. The 64bit data bus requires that system memory be accessed 64 bits wide, so each bank of memory is 64 bits.
Even though the Pentium has a 64-bit data bus that transfers information 64 bits at a time into and
out of the processor, the Pentium has only 32-bit internal registers. As instructions are being
processed internally, they are broken down into 32-bit instructions and data elements and processed
in much the same way as in the 486. Some people thought that Intel was misleading them by calling
the Pentium a 64-bit processor, but 64-bit transfers do indeed take place. Internally, however, the
Pentium has 32-bit registers that are fully compatible with the 486.
92
Chapter 3
Processor Types and Specifications
The Pentium, like the 486, contains an internal math coprocessor or FPU. The FPU in the Pentium
was rewritten to perform significantly better than the FPU in the 486 yet still be fully compatible with
the 486 and 387 math coprocessors. The Pentium FPU is estimated to be two to as much as ten times
faster than the FPU in the 486. In addition, the two standard instruction pipelines in the Pentium
provide two units to handle standard integer math. (The math coprocessor handles only more complex calculations.) Other processors, such as the 486, have only a single standard execution pipe and
one integer math unit.
To learn more about Pentium processors, including the famous floating-point calculation flaw, see
Chapter 3 of Upgrading and Repairing PCs, 19th edition, available in its entirety on the disc packaged
with this book.
AMD-K5
The AMD-K5 is a Pentium-compatible processor developed by AMD and available as the PR75, PR90,
PR100, PR120, PR133, PR166, and PR200. Because it is designed to be physically and functionally
compatible, any motherboard that properly supports the Intel Pentium should support the AMD-K5.
However, a BIOS upgrade might be required to properly recognize the AMD-K5. The K5 has the following features:
■ 16KB instruction cache, 8KB write-back data cache
■ Dynamic execution-branch prediction with speculative execution
■ Five-stage, RISC-like pipeline with six parallel functional units
■ High-performance floating-point unit
■ Pin-selectable clock multiples of 1.5x, 1.75x, and 2x
To learn more about the K5 and AMD’s P-Rating system for naming these processors, see Chapter 3 of
Upgrading and Repairing PCs, 19th edition, available in its entirety on the disc packaged with this book.
Intel P6 (686) Processors
The P6 (686) processors represent a new generation with features not found in the previous generation units. The P6 processor family began when the Pentium Pro was released in November 1995.
Since then, Intel has released many other P6 chips, all using the same basic P6 core processor as the
Pentium Pro. Table 3.13 shows the variations in the P6 family of processors.
Table 3.13
Intel P6 Processor Variations
Pentium Pro
Original P6 processor, includes 256KB, 512KB, or 1MB of full-core speed L2 cache
Pentium II
P6 with 512KB of half-core speed L2 cache
Pentium II Xeon
P6 with 512KB, 1MB, or 2MB of full-core speed L2 cache
Celeron
P6 with no L2 cache
Celeron-A
P6 with 128KB of on-die full-core speed L2 cache
Pentium III
P6 with SSE (MMX2), 512KB of half-core speed L2 cache
Pentium IIPE
P6 with 256KB of full-core speed L2 cache
Pentium IIIE
P6 with SSE (MMX2) plus 256KB or 512KB of full-core speed L2 cache
Pentium III Xeon
P6 with SSE (MMX2), 512KB, 1MB, or 2MB of full-core speed L2 cache
Intel P6 (686) Processors
Chapter 3
93
The main new feature in the fifth-generation Pentium processors was the superscalar architecture, in
which two instruction execution units could execute instructions simultaneously in parallel. Later
fifth-generation chips also added MMX technology to the mix. So then what did Intel add in the
sixth generation to justify calling it a whole new generation of chip? Besides many minor improvements, the real key features of all sixth-generation processors are Dynamic Execution and the DIB
architecture, plus a greatly improved superscalar design.
Pentium Pro Processors
Intel’s successor to the Pentium is called the Pentium Pro. The Pentium Pro was the first chip in the
P6 or sixth-generation processor family. It was introduced in November 1995 and became widely
available in 1996. The chip is a 387-pin unit that resides in Socket 8, so it is not pin compatible with
earlier Pentiums. The chip is unique among processors because it is constructed in a multichip module (MCM) physical format, which Intel calls a dual-cavity PGA package. Inside the 387-pin chip carrier
are two dies. One contains the actual Pentium Pro processor, and the other contains a 256KB, 512KB,
or 1MB L2 cache. (The Pentium Pro with 256KB cache is shown in Figure 3.22.) The processor die
contains 5.5 million transistors, the 256KB cache die contains 15.5 million transistors, and the 512KB
cache die(s) have 31 million transistors each—for a potential total of nearly 68 million transistors in a
Pentium Pro with 1MB of internal cache! A Pentium Pro with 1MB cache has two 512KB cache die
and a standard P6 processor die (see Figure 3.23). The incorporation of L2 cache is one of the most
enduring legacies of the Pentium Pro because this feature has been incorporated into virtually every
Intel and AMD processor built since, with the notable exception of the original Celeron.
Figure 3.22 Pentium Pro processor with 256KB
L2 cache. (The cache is on the left side of the
processor die.) Photograph used by permission of
Intel Corporation.
Figure 3.23 Pentium Pro processor with 1MB
L2 cache. (The cache is in the center and right
portions of the die.) Photograph used by permission of Intel Corporation.
For more information about the Pentium Pro, see Chapter 3 of Upgrading and Repairing PCs, 19th edition, available in its entirety on the disc packaged with this book.
Pentium II Processors
Intel revealed the Pentium II in May 1997. Prior to its official unveiling, the Pentium II processor was
popularly referred to by its code name, Klamath, and was surrounded by much speculation throughout the industry. The Pentium II is essentially the same sixth-generation processor as the Pentium Pro,
with MMX technology added (which included double the L1 cache and 57 new MMX instructions);
however, there are a few twists to the design. The Pentium II processor die is shown in Figure 3.24.
94
Chapter 3
Processor Types and Specifications
From a physical standpoint, it was a big departure from previous processors. Abandoning the chip in
a socket approach used by virtually all processors up until this point, the Pentium II chip is characterized by its SEC cartridge (SECC) design. The processor, along with several L2 cache chips, is mounted
on a small circuit board (much like an oversized-memory SIMM), as shown in Figure 3.25, and the circuit board is then sealed in a metal and plastic cartridge. The cartridge is then plugged into the
motherboard through an edge connector called Slot 1, which looks much like an adapter card slot.
Figure 3.24
Pentium II Processor die. Photograph used by permission of Intel Corporation.
Figure 3.25 Pentium II processor board (normally found inside the SEC cartridge). Photograph used by
permission of Intel Corporation.
Intel P6 (686) Processors
Chapter 3
95
The two variations on these cartridges are called SECC (single edge contact cartridge) and SECC2.
The SECC2 version was cheaper to make because it uses fewer overall parts. It also allowed for a more
direct heatsink attachment to the processor for better cooling. Intel transitioned from SECC to SECC2
in the beginning of 1999; all later PII chips, and the Slot 1 PIII chips that followed, use the improved
SECC2 design.
By using separate chips mounted on a circuit board, Intel could build the Pentium II much less expensively than the multiple die within a package used in the Pentium Pro. Intel could also use cache
chips from other manufacturers and more easily vary the amount of cache in future processors compared to the Pentium Pro design.
Intel offered Pentium II processors with the speeds listed in Table 3.14.
Table 3.14
Speeds for Pentium II Processors and Motherboards
CPU Type/Speed
CPU Clock
Motherboard Speed
Pentium II 233MHz
3.5x
66MHz
Pentium II 266MHz
4x
66MHz
Pentium II 300MHz
4.5x
66MHz
Pentium II 333MHz
5x
66MHz
Pentium II 350MHz
3.5x
100MHz
Pentium II 400MHz
4x
100MHz
Pentium II 450MHz
4.5x
100MHz
Aside from speed, the best way to think of the Pentium II is as a Pentium Pro with MMX technology
instructions and a slightly modified cache design. It has the same multiprocessor scalability as the
Pentium Pro, as well as the integrated L2 cache. The 57 new multimedia-related instructions carried
over from the MMX processors and the capability to process repetitive loop commands more efficiently are included as well. Also included as a part of the MMX upgrade is double the internal L1
cache from the Pentium Pro (from 16KB total to 32KB total in the Pentium II).
For more information about the Pentium II, see Chapter 3 of Upgrading and Repairing PCs, 19th edition,
available in its entirety on the disc packaged with this book.
Pentium III
The Pentium III processor, shown in Figure 3.26, was released in February 1999 and introduced several
new features to the P6 family. It is essentially the same core as a Pentium II with the addition of SSE
instructions and integrated on-die L2 cache in the later versions. SSE consists of 70 new instructions
that dramatically enhance the performance and possibilities of advanced imaging, 3D, streaming
audio, video, and speech-recognition applications.
Originally based on Intel’s advanced 0.25-micron CMOS process technology, the PIII core started out
with more than 9.5 million transistors. In late 1999, Intel shifted to a 0.18-micron process die (codenamed Coppermine) and added 256KB of on-die L2 cache, which brought the transistor count to 28.1
million. The last version of the Pentium III (code-named Tualatin) uses a 0.13-micron process and has
44 million transistors; motherboards made before the Tualatin-core versions of the Pentium III generally do not support this processor because of logical pinout changes. The Pentium III was manufactured in speeds from 450MHz through 1.4GHz, as well as in server versions with larger or faster cache
known as the Pentium Xeon. The Pentium III also incorporates advanced features such as a 32KB L1
cache and either half-core speed 512KB L2 cache or full-core speed on-die 256KB or 512KB L2 with
96
Chapter 3
Processor Types and Specifications
cacheability for up to 4GB of addressable memory space. The PIII also can be used in dual-processing
systems with up to 64GB of physical memory. A self-reportable processor serial number gives security,
authentication, and system management applications a powerful new tool for identifying individual
systems. Because of privacy concerns when the processor was released, you can disable this feature in
the system BIOS on most systems that use the Pentium III or Celeron III processors.
Figure 3.26
Pentium III processor in SECC2 (Slot 1) and FC-PGA (Socket 370) packages.
Pentium III processors were made available in Intel’s SECC2 form factor, which replaced the more
expensive older SECC packaging. The SECC2 package covers only one side of the chip and allows for
better heatsink attachment and less overall weight. Architectural features of the Pentium III processor
include the following:
■ Streaming SIMD extensions (SSE)—Seventy new instructions for dramatically faster processing and improved imaging, 3D streaming audio and video, web access, speech recognition,
new user interfaces, and other graphics and sound-rich applications.
■ Intel processor serial number—Serves as an electronic serial number for the processor and,
by extension, its system or user. You can enable or disable this feature as desired in the BIOS
Setup. The serial number enables the system/user to be identified by company internal networks
and applications. You can use the processor serial number in applications that benefit from
stronger forms of system and user identification, such as the following:
■ Applications using security capabilities—Managed access to new Internet content
and services; electronic document exchange.
■ Manageability applications—Asset management; remote system load and configuration.
Although the initial release of Pentium III processors was made in the improved SECC2 packaging,
Intel later switched to the FC-PGA package, which is even less expensive to produce and enables a
more direct attachment of the heatsink to the processor core for better cooling. The FC-PGA version
plugs into Socket 370 but can be used in Slot 1 with a slotket adapter.
All Pentium III processors have either 512KB or 256KB of L2 cache, which runs at either half-core or
full-core speed. Pentium III Xeon versions have 512KB, 1MB, or 2MB of L2 cache that runs at full-core
speed. The Pentium III Xeon is a more expensive version of the Pentium III designed for servers and
workstations. All PIII processor L2 caches can cache up to 4GB of addressable memory space and
include ECC capability.
Intel Pentium 4 Processors
Chapter 3
97
Celeron
The Celeron processor is a chameleon, more of a marketing name than the name of an actual chip. In
its first two versions it was originally a P6 with the same processor core as the Pentium II; later it
came with the same core as the PIII, then the P4, while more recent versions use the same core as the
Core 2 processors. The Celeron name represents essentially a version of Intel’s current mainstream
chip that Intel has repackaged for lower-cost PCs.
In creating the original Celerons, Intel figured that by taking a Pentium II and deleting the separate
L2 cache chips mounted inside the processor cartridge (and deleting the cosmetic cover), it could create a “new” processor that was basically just a slower version of the Pentium II. As such, the first
266MHz and 300MHz Celeron models didn’t include L2 cache. Unfortunately, this proved to have far
too great a crippling effect on performance, so starting with the 300A versions, the Celeron received
128KB of on-die full-speed L2 cache, which was actually faster and more advanced than the 512KB of
half-speed cache used in the Pentium II it was based on at the time! In fact, the Celeron was the first
PC processor to receive on-die L2 cache. It wasn’t until the Coppermine version of the Pentium III
appeared that on-die L2 cache migrated to Intel’s main processors.
Needless to say, this caused a lot of confusion in the marketplace about the Celeron. Considering that
the Celeron started out as a “crippled” Pentium II and then was revised to actually be superior in
some ways to the Pentium II on which it was based (all while selling for less), many didn’t know just
where the Celeron stood in terms of performance. Fortunately, the crippling lack of L2 cache existed
only in the earliest Celeron versions; all of those at speeds greater than 300MHz have on-die fullspeed L2 cache.
Since then, the Celeron has been released in many different versions, with each newer one based on
the then-current mainstream processor. The latest Celerons use the same basic 45nm “Wolfdale” core
as more expensive Core 2 processors. The difference is that the Celeron versions are offered in lower
processor and bus clock speeds and with smaller caches, to justify a lower price point.
Because Intel has offered Celeron and Celeron D processors in many distinctive variations, it’s easy to
get confused as to which is which, or which is available at a specific speed. By identifying the spec
number of a particular chip and looking up the number on the Intel product information website
(http://ark.intel.com/Default.aspx), you can find out the exact specification, including socket type,
voltage, stepping, cache size, and other information. If you don’t know the spec number, you can still
look up the processor by the model number, or you can use software such as CPU-Z (www.cpuid.com)
to find more detailed information about the processor.
Intel Pentium 4 Processors
The Pentium 4 was introduced in November 2000 and represented a new generation in processors (see
Figure 3.27). If this one had a number instead of a name, it might be called the 786 because it represents a generation beyond the previous 686 class processors. Several variations on the Pentium 4 have
been released, based on the processor die and architecture. Several of the processor dies are shown in
Figure 3.28.
98
Chapter 3
Figure 3.27
Processor Types and Specifications
Pentium 4 FC-PGA2 processor.
The main technical details for the Pentium 4 include the following:
■ Speeds ranging from 1.3GHz to 3.8GHz.
■ Software compatible with previous Intel 32-bit processors.
■ Some versions supporting EM64T (64-bit extensions) and Execute Disable Bit (buffer overflow
protection).
■ Processor (front side) bus that runs at 400MHz, 533MHz, 800MHz, or 1,066MHz.
■ Arithmetic logic units (ALUs) that run at twice the processor core frequency.
■ Hyper-pipelined (20-stage or 31-stage) technology.
■ HT Technology support in all 2.4GHz and faster processors running an 800MHz bus and all
3.06GHz and faster processors running a 533MHz bus.
■ Deep out-of-order instruction execution.
■ Enhanced branch prediction.
■ 8KB or 16KB L1 cache plus 12K micro-op execution trace cache.
■ 256KB, 512KB, 1MB, or 2MB of on-die, full-core speed 256-bit-wide L2 cache with eight-way
associativity.
■ L2 cache that can handle all physical memory and supports ECC.
■ 2MB of on-die, full-speed L3 cache (Extreme Edition).
■ SSE2-SSE plus 144 new instructions for graphics and sound processing (Willamette and
Northwood).
■ SSE3-SSE2 plus 13 new instructions for graphics and sound processing (Prescott).
■ Enhanced floating-point unit.
■ Multiple low-power states.
√√
See “IA-32e 64-Bit Extension Mode (AMD64, x86-64, EM64T),” p. 47 (this chapter).
Intel Pentium 4 Processors
Figure 3.28
Chapter 3
99
The CPU dies for the Pentium 4 CPU based on the Willamette, Northwood, and Prescott cores.
Intel abandoned Roman numerals for a standard Arabic numeral 4 designation to identify the Pentium 4.
Internally, the Pentium 4 introduces a new architecture that Intel calls NetBurst microarchitecture, which is
a marketing term and not a technical term. Intel uses NetBurst to describe hyper-pipelined technology, a
rapid execution engine, a high-speed (400MHz, 533MHz, 800MHz, or 1,066MHz) system bus, and an execution trace cache. The hyper-pipelined technology doubles or triples the instruction pipeline depth compared to the Pentium III (or Athlon/Athlon 64), meaning more and smaller steps are required to execute
instructions. Even though this might seem less efficient, it enables much higher clock speeds to be more
easily attained. The rapid execution engine enables the two integer ALUs to run at twice the processor
core frequency, which means instructions can execute in half a clock cycle. The 400MHz/533MHz/
800MHz/1,066MHz system bus is a quad-pumped bus running off a 100MHz/133MHz/200MHz/266MHz
system clock transferring data four times per clock cycle. The execution trace cache is a high-performance
Level 1 cache that stores approximately 12K decoded micro-operations. This removes the instruction
decoder from the main execution pipeline, increasing performance.
Of these, the high-speed processor bus is most notable. Technically speaking, the processor bus is a
100MHz, 133MHz, 200MHz, or 266MHz quad-pumped bus that transfers four times per cycle (4x), for
a 400MHz, 533MHz, 800MHz, or 1,066MHz effective rate. Because the bus is 64 bits (8 bytes) wide,
this results in a throughput rate of 3,200MBps, 4,266MBps, 6,400MBps, or 8,533MBps.
In the Pentium 4’s 20-stage or 31-stage pipelined internal architecture, individual instructions are broken down into many more substages than with previous processors such as the Pentium III, making
this almost like a RISC processor. Unfortunately, this can add to the number of cycles taken to execute
instructions if they are not optimized for this processor. Another important architectural advantage is
HT Technology, which can be found in all Pentium 4 2.4GHz and faster processors running an 800MHz
bus and all 3.06GHz and faster processors running a 533MHz bus. HT enables a single processor to run
two threads simultaneously, thereby acting as if it were two processors instead of one. For more information on HT Technology, see the section “HT Technology,” earlier in this chapter.
The Pentium 4 initially used Socket 423, which has 423 pins in a 39×39 SPGA arrangement. Later versions used Socket 478; the final versions use Socket T (LGA775), which has additional pins to support
new features such as EM64T (64-bit extensions), Execute Disable Bit (protection against buffer overflow
attacks), Intel Virtualization Technology, and other advanced features. The Celeron was never designed
to work in Socket 423, but Celeron and Celeron D versions are available for Socket 478 and Socket T
(LGA775), allowing for lower-cost systems compatible with the Pentium 4. Voltage selection is made
via an automatic voltage regulator module installed on the motherboard and wired to the socket.
Table 3.15 includes a guide to Pentium 4 processor features as well as those for the Pentium 4 Extreme
Edition, which is discussed in more detail in the next section. For information on the features unique
to a specific processor, see the Intel Product Information website at http://ark.intel.com/Default.aspx.
100
Chapter 3
Table 3.15
Processor Types and Specifications
Pentium 4 Processor Information
Processor Model
Number
CPU
Speed
Bus
Speed
L2Cache
L3
Cache
CPU
Core
Mfg.
Process
P4 631-661
3.00–3.60GHz
800MHz
2MB
—
Cedar Mill
65nm
Celeron D 347-365
3.06–3.60GHz
533MHz
512KB
—
Cedar Mill
65nm
P4 620-670
2.80–3.80GHz
800, 1,066MHz
2MB
—
Prescott 2M
90nm
P4 2.26-3.8
2.26–3.80GHz
533, 800MHz
1MB
—
Prescott
90nm
Celeron D 310-355
2.26–3.80GHz
533, 800MHz
1MB
—
Prescott
90nm
P4 EE
3.20–3.46GHz
800, 1,066MHz
512KB
2MB
Gallatin
130nm
P4 1.6-3.4
1.60-3.40GHz
400, 533, 800MHz
512KB
—
Northwood
130nm
Celeron 1.8A-2.8
1.80–2.80GHz
400MHz
128KB
—
Northwood
130nm
P4 1.3-2.0
1.30-2.00GHz
400MHz
256KB
—
Willamette
180nm
Celeron 1.7-1.8
1.70–1.80GHz
400MHz
128KB
—
Willamette
180nm
EE = Extreme Edition
NX = Execute Disable Bit
SSE = Streaming SIMD Instructions (MMX)
EIST = Enhanced Intel SpeedStep Technology
HT = Hyper-Threading Technology
VT = Virtualization Technology
For some time now, it has been obvious that “Pentium 4” has been far more of a brand than a single
processor family, leading to endless confusion when evaluating existing systems for their suitability for a
particular task. Because of the three form factors (Socket 423, Socket 478, and Socket 775) and the range
of features available in the Pentium 4 family, it’s essential that you determine exactly what the features
are of a particular processor in a system if you need to match the system to a particular performance level.
Pentium 4 Extreme Edition
In November 2003, Intel introduced the Extreme Edition of the Pentium 4, which is notable for being
the first desktop PC processor to incorporate L3 cache. The Extreme Edition (or Pentium 4EE) is basically a revamped version of the Prestonia core Xeon workstation/server processor, which has used L3
cache since November 2002. The Pentium 4EE has 512KB of L2 cache and 2MB of L3 cache, which
increases the transistor count to 178 million transistors and makes the die significantly larger than
the standard Pentium 4. Because of the large die based on the 130-nanometer process, this chip wasexpensive to produce, and the extremely high selling price reflects that. The Extreme Edition was targeted toward the gaming market, where people are willing to spend extra money for additional
performance. The additional cache doesn’t help standard business applications as well as it helps
power-hungry 3D games.
In 2004, revised versions of the Pentium 4 Extreme Edition were introduced. These processors are
based on the 90-nanometer (0.09-micron) Pentium 4 Prescott core but with a larger 2MB L2 cache in
place of the 512KB L2 cache design used by the standard Prescott-core Pentium 4. Pentium 4 Extreme
Edition processors based on the Prescott core do not have L3 cache.
The Pentium 4 Extreme Edition was produced in both Socket 478 and Socket T form factors, with
clock speeds ranging from 3.2GHz to 3.4GHz (Socket 478) and from 3.4GHz to 3.73GHz (Socket T).
Pentium 4 Power Supply and Cooling Issues
Compared to older processors, the Pentium 4 requires a lot of electrical power. Because of this, starting in February 2000, Intel changed the ATX motherboard and power supply specifications to support
a CPU voltage regulator module powered from 12V instead of 3.3V or 5V, as with previous designs. By
Intel Pentium 4 Processors
Transistors
Die
Size
188M
Chapter 3
Max.
Power
SSE
HT
64-Bit
NX
EIST
VT
Socket
81mm2
65–86W
SSE3
yes
yes
yes
some
—
LGA775
2
101
188M
81mm
65–86W
SSE3
—
yes
yes
—
—
LGA775
169M
135mm2
84–115W
SSE3
yes
yes
yes
most
some
LGA775
125M
112mm2
84–115W
SSE3
some
some
some
—
—
478, LGA775
125M
112mm2
84–115W
SSE3
—
some
some
—
—
478, LGA775
178M
237mm
2
92.1–110.7W
SSE2
yes
—
—
—
—
478, LGA775
55M
131mm2
46.8–89W
SSE2
some
—
—
—
—
478
55M
131mm2
52.8–68.4W
SSE2
—
—
—
—
—
478
42M
217mm2
51.6–71.8W
SSE2
—
—
—
—
—
423, 478
42M
2
63.5–66.1W
SSE2
—
—
—
—
—
478
217mm
using the 12V power, more 3.3V and 5V power is available to run the rest of the system, and the overall current draw is greatly reduced with the higher voltage as a source. PC power supplies normally
generate more than enough 12V power, but the previous ATX motherboard and power supply designs
originally allotted only one pin for 12V power (each pin is rated for only 6 amps), so additional 12V
lines were necessary to carry this power to the motherboard.
The fix appears in the form of a CPU power connector called the ATX12V connector. Any motherboard having the ATX12V connector requires that you supply power to it. If you are using an older
ATX power supply that lacks the proper ATX12V connector, several companies sell adapters that convert a standard Molex-type peripheral power connector to the ATX12V connector. Typically, a 300watt (the minimum recommended) or larger power supply has more than adequate levels of 12V
power for both the drives and the ATX12V connector.
If your power supply is less than the 300-watt minimum recommended, you may need to purchase a
replacement supply.
◊◊
See “Motherboard Power Connectors,” p. 857 (Chapter 18, “Power Supplies”).
Cooling a high-wattage processor such as the Pentium 4 requires a large active heatsink. These heavy
(sometimes more than 1 lb.) heatsinks can damage a CPU or destroy a motherboard when subjected
to vibration or shock, especially during shipping. To solve this problem with Pentium 4 motherboards, various methods have been used to secure the heatsink in the system. Intel’s specifications for
Socket 423 added four standoffs to the ATX chassis design flanking the Socket 423 to support the
heatsink retention brackets. These standoffs enabled the chassis to support the weight of the heatsink
instead of depending on the motherboard, as with older designs. Vendors also used other means to
reinforce the CPU location without requiring a direct chassis attachment. For example, Asus’s P4T
motherboard was supplied with a metal reinforcing plate to enable off-the-shelf ATX cases to work
with the motherboard.
Socket 478 systems do not require special standoffs or reinforcement plates; instead, they use a
scheme in which the CPU heatsink attaches directly to the motherboard rather than to the CPU
socket or chassis. You can install motherboards with Socket 478 into any ATX chassis; no special
standoffs are required.
102
Chapter 3
Processor Types and Specifications
Socket T (LGA775) systems use a four-side frame locking mechanism that holds the processor in place.
The heatsink is positioned over the processor, and locking pins attach it to the motherboard. Later
LGA sockets use a similar design.
Because the Pentium 4 processor family has been manufactured in three socket types with a wide variation in clock speed and power dissipation, it’s essential that you choose a heatsink made specifically
for the processor form factor and speed you own.
Intel Pentium D and Pentium Extreme Edition
Intel introduced its first dual-core processors, the Pentium Extreme Edition and Pentium D, in May
2005. Although these processors used the code name Smithfield before their introductions, they are
based on the Pentium 4 Prescott core. In fact, to bring dual-core processors to market as quickly as possible, Intel used two Prescott cores in each Pentium D or Pentium Extreme Edition processor. Each core
communicates with the other via th MCH (North Bridge) chip on the motherboard (see Figure 3.29).
Execution
Core
Execution
Core
L2
cache
1MB
L2
cache
1MB
Bus Interface
Bus Interface
Memory Controller Hub
Front Side Bus
Figure 3.29 The Pentium D and Pentium Extreme Edition’s processor cores communicate with each other
via the chipset’s MCH (North Bridge) chip.
Table 3.16
Pentium D and Pentium Extreme Edition Processors
Processor Model
CPU Speed
Bus Speed
L2 Cache
CPU Core
Mfg. Process
Pentium EE 955-965
2
3.46–3.73GHz
1,066MHz
4MB
Presler
Pentium D 915-960
2
2.80–3.60GHz
800MHz
4MB
Presler
Pentium EE 840
2
3.20GHz
800MHz
2MB
Smithfield
Pentium D 805-840
2
2.66–3.20GHz
533, 800MHz
2MB
Smithfield
EE = Extreme Edition
SSE = Streaming SIMD Instructions (MMX)
HT = Hyper-Threading Technology
NX = Execute Disable Bit
EIST = Enhanced Intel SpeedStep Technology
VT = Virtualization Technology
Intel Pentium 4 Processors
Chapter 3
103
For this reason, you cannot use Intel 915 and 925 chipsets and some third-party chipsets made for the
Pentium 4 with the Pentium D or Pentium Extreme Edition. Intel’s 945 series, 955X, and 975X desktop chipsets, and the E7230 workstation chipset, are the first Intel chipsets to support these processors. The nForce 4 series from NVIDIA also works with these processors.
◊◊
See “Intel 945 Express Family,” p. 193 and “Intel 955X and 975X Family,” p. 194 (Chapter 4,
“Motherboards and Buses”), for more information on these chipsets.
Following are the major features of the Pentium D:
■ Clock speeds of 2.66GHz–3.6GHz
■ 533MHz or 800MHz processor bus
■ EM64T 64-bit extensions
■ Execute Disable Bit support
■ 65- or 90-nanometer manufacturing process
■ 2MB/4MB L2 cache (1MB/2MB per core)
■ Socket T (LGA775)
The 830, 840, and 9xx models also include Enhanced Intel Speed Step Technology, which results in
cooler and quieter PC operation by providing a wide range of processor speeds in response to workload and thermal issues.
The Pentium Extreme Edition is a high-end version of the Pentium D, but with the following differences:
■ HT Technology is supported, enabling each core to simulate two processor cores for even better
performance with multithreaded applications.
■ Enhanced Intel Speed Step Technology is not supported.
■ It includes unlocked clock multipliers, enabling easy overclocking.
Table 3.16 compares the features of the various Pentium D and Pentium Extreme Edition processors.
Max. Power
SSE
HT
64-bit
NX
EIST
VT
Socket
65nm
130W
SSE3
yes
yes
yes
—
yes
LGA775
65nm
95–130W
SSE3
—
yes
yes
yes
some
LGA775
90nm
130W
SSE3
yes
yes
yes
—
—
LGA775
90nm
95–130W
SSE3
—
yes
yes
some
—
LGA775
104
Chapter 3
Processor Types and Specifications
Intel Core Processors
During production of the Pentium 4, Intel realized that the high power consumption of the NetBurst
architecture was becoming a serious problem. As the clock speeds increased, so did the power consumption. At the heart of the problem was the 31-stage deep internal pipeline, which made the
processor fast but much less efficient. To continue evolving processors with faster versions featuring
multiple cores, a solution was needed to increase efficiency and reduce power consumption dramatically. Fortunately, Intel had the perfect solution in its mobile processors, already regarded as the most
efficient PC processors in the world. Starting with the Pentium M, Intel’s mobile processors used a
completely different internal architecture from its desktop processors such as the Pentium 4. In fact,
the Pentium M mobile processor was originally based on the Pentium III! To create a powerful new
desktop processor, Intel started with the highly efficient mobile processors and then added several
new features and technologies to increase performance. These new processors were designed from the
outset to be multicore chips, with two or more cores per physical chip. The result of this development
was the Core processor family, which was released on July 27, 2006 as the Core 2.
Intel Core 2 Family
The highly efficient Core microarchitecture design featured in the Core 2 processor family provides
40% better performance and is 40% more energy efficient than the previous generation Pentium D
processor. It is also interesting to note that the Core 2 Duo processor is Intel’s third-generation dualcore processor; the first generation was the Pentium D processor for desktop PCs, and the second generation was the Core Duo processor for mobile PCs.
The naming of both the Core 2 processor and the Core microarchitecture is somewhat confusing
because the Core name was also used on the Core Solo and Core Duo processors, which were the successors to the Pentium M in Intel’s mobile processor family. What is strange is that the Core Solo and
Duo do not incorporate Intel’s Core microarchitecture, and although they served as a developmental
starting point for the Core 2, the Core Solo and Duo are internally different and not in the same family as the Core 2 processors. Because the Core Solo and Core Duo processors are considered mobile
processors only, they are not covered here.
The Core 2 was released as a dual-core processor, but since then quad-core versions have also been
released. The dual-core versions of the Core 2 processors have 291 million transistors, whereas the
quad-core versions have double that, or 582 million. They include 1MB or 2MB of L2 cache per core,
with up to 8MB total L2 in the quad-core versions. Initially, all were built on 300mm wafers using a
65nm process, but since then 45nm versions have been released as well.
The highlights of the Core microarchitecture include the following:
■ Wide dynamic execution—Internal execution cores that are 33% wider than in previous
generations, allowing each core to execute up to four full instructions simultaneously. Further
efficiencies are achieved through more accurate branch prediction, deeper instruction buffers
for greater execution flexibility, and additional features to reduce execution time.
■ Intelligent power capability—An advanced power-gating capability that turns on individual processor subsystems only if they are needed.
■ Advanced smart cache—A multicore optimized cache that increases the probability that
each execution core can access data from a shared L2 cache.
Intel Core Processors
Chapter 3
105
■ Smart memory access—Includes a capability called memory disambiguation, which increases
the efficiency of out-of-order processing by providing the execution cores with the intelligence
to speculatively load data for instructions that are about to execute.
■ Advanced digital media boost—Improves performance when executing Streaming SIMD
Extension (SSE) instructions by enabling 128-bit instructions to be executed at a throughput
rate of one per clock cycle. This effectively doubles the speed of execution for these instructions
compared to previous generations.
The Core 2 family includes both dual-core and quad-core processors under four different names:
■ Core 2 Duo—Standard dual-core processors
■ Celeron—Low-end single or dual-core processors
■ Core 2 Quad—Standard quad-core processors
■ Core 2 Extreme—High-end versions of either dual-core or quad-core processors
Figure 3.30 shows a cutaway view of a Core 2 Duo chip, revealing the single dual-core die underneath
the heat spreader.
Figure 3.30
Core 2 Duo cutaway view.
All Core 2 family processors support 64-bit extensions, as well as SSSE3 (Supplemental SSE3), which
adds 32 new SIMD instructions to SSE3. These processors also support Enhanced Intel Speedstep
Technology (EIST), and most provide support for hardware Virtualization Technology.
Tables 3.17 and 3.18 detail the various processors in the Core 2 family.
106
Chapter 3
Table 3.17
Processor Types and Specifications
Core 2 Family Dual-Core Processors
Processor Model Number
Cores
CPU Speed
Bus Speed
L2 Cache
Core 2 Duo E8190-E8600
2
2.66–3.33GHz
1,333MHz
6MB
Core 2 Duo E7200-E7600
2
2.53–3.06GHz
1,066MHz
3MB
Celeron E3200-E3300
2
2.40–2.50GHz
800MHz
1MB
Core 2 Extreme X6800
2
2.93GHz
1,066MHz
4MB
Core 2 Duo E6300-E6850
2
1.86–3.00GHz
1,066, 1,333MHz
2, 4MB
Celeron 220-450
1
1.20–2.20GHz
533-800MHz
512KB
Core 2 Duo E6300-E6400
2
1.86–2.13GHz
1,066MHz
2MB
Core 2 Duo E4300-E4700
2
1.80–2.60GHz
800MHz
2MB
Celeron E1200-E1600
2
1.60–2.40GHz
800MHz
512KB
Table 3.18
Core 2 Family Quad-Core Processors
Processor Model Number
Cores
CPU Speed
Bus Speed
L2 Cache
Core 2 Extreme QX9xxx
4
3.00–3.20GHz
1,333–1,600MHz
12MB
Core 2 Quad Q9xxx
4
2.66–3.00GHz
1,333Hz
12MB
Core 2 Quad Q9xxx
4
2.50–2.83GHz
1,333Hz
6MB
Core 2 Quad Q8xxx
4
2.33–2.66GHz
1,333Hz
4MB
Core 2 Quad Q7xxx
4
2.20–2.90GHz
800MHz
2MB
Core 2 Extreme QX6xxx
4
2.66–3.00GHz
1,066–1,333MHz
8MB
Core 2 Quad Q6xxx
4
2.13-2.66GHz
1,066MHz
8MB
SSE = Streaming SIMD Instructions (MMX)
HT = Hyper-Threading Technology
NX = Execute Disable Bit
EIST = Enhanced Intel SpeedStep Technology
VT = Virtualization Technology
Intel (Nehalem) Core i Processors
The Core i processor family replaced the Core 2, and includes two different microarchitectures: the
first generation of Core i processors is based on the Nehalem microarchitecture and the second generation uses Sandy Bridge microarchitecture.
Nehalem Architecture
The Nehalem microarchitecture’s key features include the integration of the memory controller into
the processor, and in some models, the entire north bridge including an optional graphics processor
in a separate core on the processor die (see Chapter 12, “Video Hardware,” for details). The first Core i
Series processor was the Core i7 introduced in November 2008. Initially built on a 45nm process, later
Core i Series processors were built on an improved 32nm process allowing for smaller die, lower
power consumption, and greater performance. All support DDR3 memory and include L3 cache, and
some models include support for HT Technology.
Intel Core Processors
Chapter 3
107
CPU Core
Mfg.
Process
Max.
Power
SSE
64-Bit
NX
EIST
VT
Socket
Wolfdale
45nm
65W
SSSE4.1
yes
yes
yes
most
LGA775
Wolfdale-3M
45nm
65W
SSSE4.1
yes
yes
yes
some
LGA775
Wolfdale-3M
45nm
65W
SSSE3
yes
yes
yes
yes
LGA775
Conroe XE
65nm
75W
SSSE3
yes
yes
yes
yes
LGA775
Conroe
65nm
65W
SSSE3
yes
yes
yes
yes
LGA775
Conroe-L
65nm
19–35W
SSSE3
yes
yes
—
—
LGA775
Allendale
65nm
65W
SSSE3
yes
yes
yes
yes
LGA775
Allendale
65nm
65W
SSSE3
yes
yes
yes
—
LGA775
Allendale
65nm
65W
SSSE3
yes
yes
yes
—
LGA775
CPU Core
Mfg.
Process
Max.
Power
SSE
64-Bit
NX
EIST
VT
Socket
Yorkfield XE
45nm
130-150W
SSSE4.1
yes
yes
yes
yes
LGA775,
LGA771
Yorkfield
45nm
65–95W
SSSE4.1
yes
yes
yes
yes
LGA775
Yorkfield-6M
45nm
65–95W
SSSE4.1
yes
yes
yes
yes
LGA775
Yorkfield-6M
45nm
65–95W
SSSE4.1
yes
yes
yes
some
LGA775
Yorkfield-6M
45nm
65–95W
SSSE4.1
yes
yes
yes
—
LGA775
Kentsfield XE
65nm
130W
SSSE3
yes
yes
yes
yes
LGA775
Kentsfield
65nm
95–105W
SSSE3
yes
yes
yes
yes
LGA775
There are two main variants in the first-generation (Nehalem) Core i Series Family: high-end versions
that use Socket LGA1366 and more mainstream models that use Socket LGA1156. The latter mainstream models include a fully integrated north bridge, including a dual-channel DDR3 memory controller, graphics interface, and even an optional full-blown graphics processor (Larrabee). Because the
entire north bridge functionality is integrated into the processor, Socket LGA1156 chips use a slower
2GBps DMI as the FSB connection to the south bridge component on the motherboard.
Core i 900 Series processors using Socket LGA1366 include a triple-channel DDR3 memory controller
and a high-performance FSB called QPI (Quick Path Interconnect) that connects to the north bridge
component (called an I/O Hub or IOH) on the motherboard (see Figure 3.31). The IOH implements
the PCIe graphics interface.
Core i7 and i5 processors also support Turbo Boost (built-in overclocking), which increases the performance in heavily loaded processor cores while reducing performance to cores that are lightly loaded
or have no work to perform. Turbo Boost is configured through the system BIOS.
108
Chapter 3
Figure 3.31
Processor Types and Specifications
Core i7 900 series processor die. Photograph courtesy of Intel.
Table 3.19
Core i Series Family Processors Using Nehalem Microarchitecture
Processor Model Number
Number
of Cores
CPU Speed
Bus Speed
L2 Cache
L3 Cache
Core i7 9xxX EE
6
3.33-3.46GHz
6.4GHz
1.5MB
12MB
Core i7 9xx EE
4
3.20-3.33GHz
6.4GHz
1MB
8MB
Core i7 970
6
3.2GHz
4.8GHz
1.5MB
12MB
Core i7 9xx
4
2.66-3.20GHz
4.8GHz
1MB
8MB
Core i7 8xx
4
2.66-.3.06GHz
2.5GHz
1MB
8MB
Core i5 7xx
4
2.40-2.80GHz
2.5GHz
1MB
8MB
Core i5 6xx
2
3.2-3.66GHz
2.5GHz
1MB
4MB
Core i3 5xx
2
2.93-3.33GHz
2.5GHz
1MB
4MB
EE = Extreme Edition
SSE = Streaming SIMD Instructions (MMX)
Table 3.20
NX = Execute Disable Bit
VT = Virtualization Technology
Core i Series Family Processors Using Sandy Bridge Microarchitecture
Processor Model Number
Number
of Cores
CPU Speed
Core i7 2xxx
4
2.80-3.40GHz
5GHz
1MB
8MB
Core i5 25xx
4
2.3-3.3GHz
5GHz
1MB
6MB
Core i5 24xx
4
2.5-3.1GHz
5GHz
1MB
6MB
Bus Speed
L2 Cache
L3 Cache
Core i5 2390
2
2.7GHz
5GHz
1MB
3MB
Core i5 23xx
4
2.8-2.9GHz
5GHz
1MB
6MB
Core i3 21xx
2
2.5-3.1GHz
5GHz
1MB
3MB
EE = Extreme Edition
SSE = Streaming SIMD Instructions (MMX)
NX = Execute Disable Bit
VT = Virtualization Technology
Intel Core Processors
109
Chapter 3
The initial members of the Core i Series Family included the Core i5 and i7 processors. These were
later joined by the low-end i3 processors. Table 3.19 details the various processors in the firstgeneration Core i Series family.
Sandy Bridge Architecture
Intel introduced the second generation of Core i-series processors, those based on the Sandy Bridge
microarchitecture, in January 2011 (see Table 3.20). The Sandy Bridge microarchitecture includes, as
its predecessor did, an integrated memory controller and North Bridge functions.
However, Sandy Bridge has many new features, including an in-core graphics processor on some models (see Chapter 12 for details), the new AVX 256-bit SSE extensions, a new Level 0 instruction cache
for holding up to 1500 decoded micro-ops, more accurate branch prediction unit, the use of physical
registers to store operands, improved power management, Turbo Boost 2.0 for more scaled responses
to adjustments in core usage, processor temperature, current, power consumption, and operating system states, and a dedicated video decoding/transcoding/encoding unit known as the multi-format
codec (MFX). All Sandy Bridge processors use a 32nm manufacturing process.
CPU Core
Mfg.
Process
Max.
Power
SSE
Version
TB
64-bit
NX
VT
HTT
Socket
Gulftown
32nm
130W
4.2
Yes
yes
yes
yes
yes
LGA1366
Bloomfield
45nm
130W
SSE4.2
Yes
yes
yes
yes
yes
LGA1366
Gulftown
32nm
130W
4.2
Yes
yes
yes
yes
yes
LGA1366
Bloomfield
45nm
130W
SSE4.2
Yes
yes
yes
yes
yes
LGA1156
Lynnfield
45nm
82-95W
SSE4.2
Yes
Yes
Yes
Yes
yes
LGA1156
Lynnfield
45nm
95W
SSE4.2
Yes
yes
yes
yes
—
LGA1156
Clarkdale
32nm
73-87W
SSE4.2
Yes
yes
yes
yes
yes
LGA1156
Clarkdale
32nm
73W
SSE4.2
Yes
yes
yes
yes
Yes
LGA1156
HTT = Hyper-Threading Technology
TB =Turbo Boost
Max.
Power
SSE
Version
TB2.0
64-bit
NX
VT
HTT
Socket
65-95W
4.2, AVX
Yes
yes
yes
yes
yes
LGA1155
45-95W
4.2, AVX
Yes
yes
yes
yes
—
LGA1155
65-95W
4.2 , AVX
Yes
yes
yes
yes
yes
LGA1155
35W
4.2, AVX
Yes
yes
yes
yes
Yes
LGA1155
95W
4.2, AVX
Yes
Yes
Yes
Yes
—
LGA1155
35-65W
4.2, AVX
No
Yes
Yes
Yes
Yes
LGA1155
HTT = Hyper-Threading Technology
TB =Turbo Boost
110
Chapter 3
Processor Types and Specifications
AMD K6 Processors
How did AMD begin to design and produce P6-type processors in its own facilities (fabs)? It’s an interesting story that began with a company called NexGen and its Pentium rival, the Nx586. After using
NexGen technology for its first P6-class processors, AMD later designed and fabricated the Athlon and
Duron processors, which were true sixth-generation designs using their own proprietary connections
to the system.
NexGen Nx586
NexGen was founded by Thampy Thomas, who hired some of the people formerly involved with the
486 and Pentium processors at Intel. At NexGen, developers created the Nx586, a processor that was
functionally the same as the Pentium but not pin compatible. As such, it was always supplied with a
motherboard; in fact, it was usually soldered in. NexGen did not manufacture the chips or the
motherboards they came in; for that it hired IBM Microelectronics. Later NexGen was bought by
AMD, right before it was ready to introduce the Nx686—a greatly improved design by Greg Favor and
a true competitor for the Pentium. AMD took the Nx686 design and combined it with a Pentium electrical interface to create a drop-in Pentium-compatible chip called the K6, which actually outperformed the original from Intel.
The Nx586 had all the standard fifth-generation processor features, such as superscalar execution with
two internal pipelines and a high-performance integral L1 cache with separate code and data caches.
One advantage is that the Nx586 includes separate 16KB instruction and 16KB data caches, compared
to 8KB each for the Pentium. These caches keep key instructions and data close to the processing
engines to increase overall system performance.
The Nx586 also includes branch prediction capabilities, which are one of the hallmarks of a sixthgeneration processor. Branch prediction means the processor has internal functions to predict program flow to optimize the instruction execution.
The Nx586 processor also featured a RISC core. A translation unit dynamically translates x86 instructions into RISC86 instructions. These RISC86 instructions were designed specifically with direct support for the x86 architecture while obeying RISC performance principles. They are simpler and easier
to execute than the complex x86 instructions. This type of capability is another feature normally
found only in P6 class processors.
The Nx586 was discontinued after the merger with AMD, which then took the design for the successor Nx686 and released it as the AMD-K6.
AMD-K6 Series
The AMD-K6 processor is a high-performance sixth-generation processor that is physically installable
in a P5 (Pentium) motherboard. It essentially was designed for AMD by NexGen and was first known
as the Nx686. The NexGen version never appeared because AMD purchased it before the chip was due
to be released. The AMD-K6 delivers performance levels somewhere between the Pentium and
Pentium II processor because of its unique hybrid design.
The K6 processor contains an industry-standard, high-performance implementation of the new multimedia instruction set, enabling a high level of multimedia performance for the period. The K6-2
introduced an upgrade to MMX that AMD calls 3DNow!, which adds even more graphics and sound
instructions. AMD designed the K6 processor to fit the low-cost, high-volume Socket 7 infrastructure.
Initially, it used AMD’s 0.35-micron, five-metal layer process technology; later the 0.25-micron process
was used to increase production quantities because of reduced die size, as well as to decrease power
consumption.
AMD K7 Processors
Chapter 3
111
AMD-K6 processor technical features include the following:
■ Sixth-generation internal design, fifth-generation external interface
■ Internal RISC core, which translates x86 to RISC instructions
■ Superscalar parallel execution units (seven)
■ Dynamic execution
■ Branch prediction
■ Speculative execution
■ Large 64KB L1 cache (32KB instruction cache plus 32KB write-back dual-ported data cache)
■ Built-in floating-point unit
■ Industry-standard MMX instruction support
■ System Management Mode
■ Ceramic pin grid array (CPGA) Socket 7 design
■ Manufactured using 0.35-micron and 0.25-micron, five-layer designs
The AMD-K6 processor architecture is fully x86 binary code compatible, which means it runs all Intel
software, including MMX instructions. To make up for the lower L2 cache performance of the Socket
7 design, AMD beefed up the internal L1 cache to 64KB, twice the size of the Pentium II or III. This,
plus the dynamic execution capability, enabled the K6 to outperform the Pentium and come close to
the Pentium II and III in performance for a given clock rate.
There were two subsequent additions to the K6 family, in the form of the K6-2 and K6-3. The K6-2
offered higher clock and bus speeds (up to 100MHz) and support for the 3DNow! instruction set. The
K6-3 added 256KB of on-die full-core speed L2 cache. The addition of the full-speed L2 cache in the
K6-3 was significant because it enabled the K6 series to fully compete with the Intel Pentium III
processor family, although it did cause the processor to run hot, resulting in its discontinuation after
a relatively brief period.
The original K6 has 8.8 million transistors and is built on a 0.35-micron, five-layer process. The die is
12.7mm on each side, or about 162 square mm. The K6-3 uses a 0.25-micron process and incorporates
21.3 million transistors on a die only 10.9mm on each side, or about 118 square mm.
AMD K7 Processors
The Athlon, Duron, and Athlon XP are all members of AMD’s K7 processor family, which represented
a clean break with AMD’s previous plug compatibility with Intel processors. Instead, AMD developed
its own processor slot and socket design and became a serious rival to Intel in both performance and
price.
AMD Athlon
The Athlon is AMD’s successor to the K6 series. It was designed as a new chip from the ground up and
does not interface via the Socket 7 or Super7 sockets like its previous chips. In the initial Athlon versions, AMD used a cartridge design, called Slot A, almost exactly like that of the Intel Pentium II and
III (see Figure 3.32). This was because the original Athlons used 512KB of external L2 cache, which
was mounted on the processor cartridge board. The external cache ran at one-half core, two-fifths
core, or one-third core, depending on which speed processor you had.
In June 2000, AMD introduced a revised version of the Athlon (code-named Thunderbird) that incorporates 256KB of L2 cache directly on the processor die. This on-die cache runs at full-core speed and
112
Chapter 3
Processor Types and Specifications
eliminates a bottleneck in the original Athlon systems. Along with the change to on-die L2 cache, the
Athlon was also introduced in a version for AMD’s own Socket A (Socket 462), which replaced the Slot
A cartridge version (see Figure 3.34).
Figure 3.32 AMD Athlon processor for Slot A
(cartridge form factor).
Figure 3.33 AMD Athlon XP 0.13-micron
processor for Socket A (PGA form factor).
Although the Slot A cartridge looks a lot like the Intel Slot 1, and the Socket A looks like Intel’s Socket
370, the pinouts are completely different and the AMD chips do not work in the same motherboards
as the Intel chips. This was by design because AMD was looking for ways to improve its chip architecture and distance itself from Intel. Special blocked pins in either socket or slot design prevent accidentally installing the chip in the wrong orientation or wrong slot. Socket A versions of the Athlon
closely resemble the Duron.
The Athlon was manufactured in speeds from 500MHz up to 1.4GHz and uses a 200MHz or 266MHz
processor (front side) bus called the EV6 to connect to the motherboard North Bridge chip as well as
other processors. Licensed from Digital Equipment, the EV6 bus is the same as that used for the Alpha
21264 processor, later owned by Compaq. The EV6 bus uses a clock speed of 100MHz or 133MHz but
double-clocks the data, transferring data twice per cycle, for a cycling speed of 200MHz or 266MHz.
Because the bus is 8 bytes (64 bits) wide, this results in a throughput of 8 bytes times
200MHz/266MHz, which amounts to 1.6GBps or 2.1GBps. This bus is ideal for supporting PC1600 or
PC2100 DDR memory, which also runs at those speeds. The AMD bus design eliminates a potential
bottleneck between the chipset and processor and enables more efficient transfers compared to other
processors. The use of the EV6 bus is one of the primary reasons the Athlon and Duron (covered later)
chips perform so well.
The Athlon has a large 128KB of L1 cache on the processor die and one-half, two-fifths, or one-third
core speed 512KB L2 cache in the cartridge in the older versions; 256KB of full-core speed cache in
Socket A Athlon and most Athlon XP models; and 512KB of full-core speed cache in later Athlon XP
models. All PGA Socket A versions have the full-speed cache. The Athlon also supports MMX and the
Enhanced 3DNow! Instructions.
The initial production of the Athlon used 0.25-micron technology, with newer and faster versions
being made on 0.18-micron and 0.13-micron processes. Later versions were built using copper metal
technology, a first in the PC processor business.
In most benchmarks, the AMD Athlon is equal, if not superior, to the Intel Pentium III. AMD also
beat Intel to the 1GHz mark by introducing its 1GHz Athlon two days before Intel introduced the
1GHz Pentium III.
AMD K7 Processors
Chapter 3
113
AMD Duron
The AMD Duron processor (originally code-named Spitfire) was announced in June 2000 and is a
derivative of the AMD Athlon processor in the same fashion as the Celeron is a derivative of the
Pentium II and III. Basically, the Duron is an Athlon with less L2 cache; all other capabilities are
essentially the same. It is designed to be a lower-cost version with less cache but only slightly less performance. In keeping with the low-cost theme, Duron contains 64KB on-die L2 cache and is designed
for Socket A, a socket version of the Athlon Slot A. Except for the Duron markings, the Duron is
almost identical externally to the Socket A versions of the original Athlon.
Essentially, the Duron was designed to compete against the Intel Celeron in the low-cost PC market,
just as the Athlon was designed to compete in the higher-end Pentium III market. The Duron has
since been discontinued and replaced by the Sempron.
AMD Athlon XP
As mentioned earlier, the last of the Socket A-based Athlon processors is called the Athlon XP. This is
basically an evolution of the previous Athlon, with improvements in the instruction set so it can execute Intel SSE instructions and a new marketing scheme that directly competed with the Pentium 4.
Athlon XP also adopted a larger (512KB) full-speed on-die cache.
AMD uses the term QuantiSpeed (a marketing term, not a technical term) to refer to the architecture of
the Athlon XP. AMD defines this as including the following:
■ A nine-issue superscalar, fully pipelined microarchitecture—This provides more pathways for instructions to be sent into the execution sections of the CPU and includes three
floating-point execution units, three integer units, and three address calculation units.
■ A superscalar, fully pipelined floating-point calculation unit—This provides faster
operations per clock cycle and cures a long-time deficiency of AMD processors versus Intel
processors.
■ A hardware data prefetch—This gathers the data needed from system memory and places it
in the processor’s Level 1 cache to save time.
■ Improved translation look-aside buffers (TLBs)—These enable the storage of data where the
processor can access it more quickly without duplication or stalling for lack of fresh information.
These design improvements wring more work out of each clock cycle, enabling a “slower” Athlon XP
to beat a “faster” Pentium 4 processor in doing actual work.
The first models of the Athlon XP used the Palomino core, which is also shared by the Athlon 4
mobile (laptop) processor. Later models have used the Thoroughbred core, which was later revised to
improve thermal characteristics. The different Thoroughbred cores are sometimes referred to as
Thoroughbred-A and Thoroughbred-B. Athlon XP processors use a core with 512KB on-die full-speed
L2 cache known as Barton. Additional features include the following:
■ 3DNow! Professional multimedia instructions (adding compatibility with the 70 additional SSE
instructions in the Pentium III but not the 144 additional SSE2 instructions in the Pentium 4)
■ 266MHz or 333MHz FSB
■ 128KB Level 1 and 256KB or 512KB on-die Level 2 memory caches running at full CPU speed
■ Copper interconnects (instead of aluminum) for more electrical efficiency and less heat
Also new to the Athlon XP is the use of a thinner, lighter organic chip packaging compound similar
to that used by Intel Pentium 4 processors. Figure 3.34 shows the Athlon XP processor that use the
Barton core.
114
Chapter 3
Processor Types and Specifications
Figure 3.34 AMD Athlon XP 0.13-micron processor with 512KB of L2 cache for Socket A (PGA form
factor). Photo courtesy of Advanced Micro Devices, Inc.
This packaging allows for a more efficient layout of electrical components. The last versions of the
Athlon XP were made using a 0.13-micron die process that results in a chip with a smaller die that
uses less power, generates less heat, and is capable of running faster than the previous models. The
most recent 0.13-micron versions of the Athlon XP run at actual clock speeds exceeding 2GHz.
The Athlon XP was replaced by Socket A versions of the Sempron.
Athlon MP
The Athlon MP was AMD’s first processor designed for multiprocessor support, making it suitable for
server and workstation usage. The Athlon MP was produced in the following four versions, which are
similar to various Athlon and Athlon XP models:
■ Model 6 (1GHz, 1.2GHz)—This model is similar to the Athlon Model 4.
■ Model 6 OPGA (1500+ through 2100+)—This model is similar to the Athlon XP Model 6.
■ Model 8 (2000+, 2200+, 2400+, 2600+)—This model is similar to the Athlon XP Model 8.
■ Model 10 (2500+, 2800+, 3000+)—This model is similar to the Athlon XP Model 8, but with
512KB of L2 cache.
All Athlon MP processors use the same Socket A interface used by later models of the Athlon and all
Duron and Athlon XP processors.
The Athlon MP was replaced by the AMD Opteron. For more details about the Athlon MP, see the
AMD website.
AMD K8 Processors
Chapter 3
115
AMD K8 Processors
AMD’s K8 family of processors includes the first 64-bit desktop processors, which set the standard for 64bit extensions of the venerable 32-bit x86 architecture. The K8 family is the first x86 processors to integrate the memory controller, and also includes the first truly integrated dual-core processors. Although
early versions of the K8 family were plagued by frequent socket changes, recent and current versions of
the family offer an easy upgrade path to more advanced designs and DDR2 and DDR3 support.
AMD Athlon 64 and 64 FX
The AMD Athlon 64 and 64 FX, introduced in September 2003, are the first 64-bit processors for desktop (and not server) computers. Originally code-named ClawHammer, the Athlon 64 and 64 FX are
the desktop element of AMD’s 64-bit processor family, which also includes the Opteron (code-named
SledgeHammer) server processor. The first Athlon 64 and 64 FX (shown in Figure 3.35) are essentially
Opteron chips designed for single-processor systems. In some cases, they have decreased cache or
memory bandwidth capabilities.
Figure 3.35
AMD Athlon 64 FX (Socket 939 version). Photo courtesy of AMD.
Besides support for 64-bit instructions, the biggest difference between the Athlon 64 and 64 FX and
most other processors is the fact that their memory controller is built in. The memory controller is
traditionally normally part of the motherboard chipset North Bridge or Memory Controller Hub
(MCH) chip, but the Athlon 64 and 64 FX incorporate the memory controller in the processor. This
means that the typical CPU bus architecture is different with these chips. In a conventional design,
the processor talks to the chipset North Bridge, which then talks to the memory and all other components in the system. Because the Athlon 64 and 64 FX have integrated memory controllers, they talk
to memory directly, but they also talk to the North Bridge for other system communications.
Separating the memory traffic from the CPU bus allows for improved performance not only in memory transfers, but also in CPU bus transfers. The main difference in the Athlon 64 and 64 FX is in the
configurations of cache sizes and memory bus widths.
Following are the major features of the Athlon 64 design:
■ Speeds ranging from 1.0GHz to 3.0GHz.
■ Between 68.5 million transistors (512KB L2 cache versions) and 129 million transistors (1MB L2
cache versions).
■ 12-stage pipeline.
116
Chapter 3
Processor Types and Specifications
■ DDR memory controller with ECC support integrated into the processor (instead of the North
Bridge or MCP, as in other recent chipsets).
■ Socket 754 features single-channel memory controller; Socket 940, 939, and AM2 feature dualchannel memory controller.
■ 128KB L1 cache.
■ 512KB or 1MB of on-die full-speed L2 cache.
■ Support for AMD64 (also called IA-32e or x86-64) 64-bit extension technology (extends 32-bit
x86 architecture).
■ Up to 3.2GBps (Socket 754) or 4GBps (Socket 940, 939, and AM2) Hypertransport link to chipset
North Bridge.
■ Addressable memory size up to 1TB, greatly exceeding the 4GB or 64GB limit imposed by 32-bit
processors.
■ SSE2 (SSE plus 144 new instructions for graphics and sound processing).
■ Multiple low-power states.
■ 130-nanometer (see Figure 3.36), 90nm, or 65nm cores.
The Athlon 64 FX differs from the standard Athlon 64 in the following ways:
■ Supports only Socket 940, 939, or AM2.
■ Has dual-channel DDR or DDR2 memory controller with ECC support.
■ Socket 940 versions require registered memory.
■ Features speeds from 2.2GHz to 2.8GHz.
■ 1MB L2 cache (standard).
Table 3.21
Athlon 64 and 64 FX Processor Information
Processor
Model Number
Cores
CPU
Speed
Bus
Speed
L2
Cache
Athlon 64 3500+-3800+
1
2.20–2.40GHz
1,000MHz
512KB
Athlon 64 3000+-3500+
1
1.80–2.20GHz
1,000MHz
512KB
Athlon 64 1500+-3400+
1
1.00–2.40GHz
800, 1,000MHz
512KB
Athlon 64 3500+-4000+, FX-55-57
1
2.20–2.80GHz
1000MHz
512KB, 1MB
Athlon 64 3000+-4000+
1
1.80–2.60GHz
1,000MHz
512KB
Athlon 64 3200+-3500+
1
2.00–2.20GHz
1,000MHz
512KB
Sempron 3000+-3800+
1
1.60–2.20GHz
800MHz
128, 256KB
Sempron 2500+-3500+
1
1.40–2.00GHz
800, 1,000MHz
128, 256KB
Athlon 64 FX-51-53
1
2.20–2.40GHz
800MHz
1MB
Athlon 64 2800+-3800+
1
1.80–2.40GHz
800, 1,000MHz
512KB
Athlon 64 2800+-4000+, FX-53-55
1
1.80–2.60GHz
800, 1000MHz
512KB, 1MB
Sempron 3000+-3100+
1
1.80GHz
800MHz
128, 256KB
SSE = Streaming SIMD Instructions (MMX)
NX = Execute Disable Bit
Cool’n’Quiet = Power-saving technology
VT = Virtualization Technology
AMD K8 Processors
117
Chapter 3
Figure 3.36 AMD Athlon 64 die (130-nanometer process, 106 million transistors, 193 sq. mm). Photo
courtesy of AMD.
Although AMD has been criticized by many, including me, for its confusing performance-rating
processor names in the Athlon XP series, AMD also uses this naming scheme with the Athlon 64.
AMD developed its own chipsets for the Athlon 64, but also encouraged chipset development by third
parties, including ATI (which AMD acquired in 2006 for both its chipset and GPU design experience).
The various models and features of the Athlon 64 and 64 FX are summed up in Table 3.21.
CPU
Core
Mfg.
Process
Max.
Power
Lima
65nm
45W
SSE3
yes
yes
yes
yes
AM2
Winchester
90nm
67W
SSE2
yes
yes
yes
—
939
Venice
90nm
51–89W
SSE3
yes
yes
yes
—
754, 939
San Diego
90nm
67–104W
SSE3
yes
yes
yes
—
939
Orleans
90nm
35–62W
SSE3
yes
yes
yes
yes
AM2
Manchester
90nm
67W
SSE3
yes
yes
yes
—
939
SSE
64bit
NX
Cool’n’
Quiet
VT
Socket
Manila
90nm
35–62W
SSE3
yes
yes
most
—
AM2
Palermo
90nm
62W
SSE2, SSE3
most
yes
some
—
754, 939
940
SledgeHammer
130nm
89W
SSE2
yes
yes
—
—
Newcastle
130nm
89W
SSE2
yes
yes
yes
—
754, 939
ClawHammer
130nm
89–104W
SSE2
yes
yes
yes
—
754, 939
Paris
130nm
62W
SSE2
—
yes
—
—
754
118
Chapter 3
Processor Types and Specifications
The Athlon 64 and 64 FX are available in four socket versions, the core features of which are detailed
in Table 3.22. Note that Socket 940 supports only slower and more expensive registered DIMMs.
Because of this, you should avoid Socket 940 processors or motherboards.
Table 3.22
AMD Athlon 64 and 64 FX Socket and Memory Types
Socket
Processor
Channels
Type
754
Athlon 64
Single-channel
DDR
940
Athlon 64 FX
Dual-channel
Registered SDRAM
939
Athlon 64/64 FX
Dual-channel
DDR
AM2
Athlon 64/64 FX
Dual-channel
DDR2
The Athlon 64 essentially comes in three versions: a Socket 754 version that has only a single-channel
memory bus, an improved Socket 939 version that has a dual-channel memory bus, and an even better
Socket AM2 version that has a dual-channel DDR2 bus. The Athlon 64 FX is also available in three versions: a Socket 940 version that uses expensive (and slower) registered memory, an improved Socket
939 version that uses unbuffered memory, and an updated version that uses dual-channel DDR2. The
Socket 939 versions of the Athlon 64 and 64 FX are essentially the same chip, differing only in the
amount of L2 cache included. For example, the Athlon 64 3800+ and Athlon 64 FX-53 both run at
2.4GHz and run dual-channel memory. The only difference is that the 3800+ has only 512KB of L2
cache, whereas the FX-53 has 1MB of L2 cache. Because the 64 and 64 FX chips are essentially the
same, you need to read the fine print to determine the minor differences in configuration.
The Athlon 64 FX can draw up to 104W or more of power, which is high but still somewhat less than
the more power-hungry Pentium 4 processors. As with the Pentium 4, motherboards for the Athlon
64 and 64 FX generally require the ATX12V connector to provide adequate 12V power to run the
processor voltage regulator module.
The initial version of the Athlon 64 is built on a 0.13-micron (130-nanometer) process. Subsequent
versions use either a 0.09-micron (90nm) or a .065-micron (65nm) process.
AMD Sempron
AMD introduced the Sempron line of processors in 2004 as a replacement for the Duron brand, and
to provide an economy line of processors designed to compete with the Intel Celeron D. Just as the
Intel Celeron name long ago ceased to identify a particular processor and instead is a brand that identifies various types of low-cost, reduced-performance processors, AMD’s Sempron brand follows a similar course. Sempron identifies Socket A processors based on the Athlon XP as well as Socket 754, 939,
AM2, and AM3 processors based on the Athlon 64 and 64 X2.
The Socket A version of the AMD Sempron is based on the Athlon XP processor, whereas the Socket
754, 939, AM2, and AM3 versions are based on the Athlon 64. Sempron X2 models are dual-core
processors based on the Athlon X2. The difference is that the Sempron versions are offered in lower
processor and bus clock speeds, with smaller caches and sometimes limited features to justify a lower
price point.
Because AMD has offered Sempron processors in many distinctive variations, it’s easy to get confused
as to which is which and what features are included in a specific model. By looking up the processor
on the AMD Desktop Processor Comparison website (http://products.amd.com/enus/DesktopCPUResult.aspx), you can find out the exact specification, including socket type, voltage,
revision, cache size, and other information about the chip. You can also use software tools such as
CPU-Z (www.cpuid.com) to find more detailed information about a given processor.
AMD K8 Processors
Chapter 3
119
AMD Athlon X2, 64 X2, and 64 FX
The 64-bit Athlon 64 processors were designed with multicore updates in mind from the beginning.
The desktop Athlon 64 X2 was introduced in May 2005. The Athlon 64 X2 uses several core designs,
with different options and features.
The following are major features of the Athlon 64 X2:
■ 65nm or 90nm manufacturing process
■ Actual clock speeds of 1.9GHz–3.0GHz
■ Socket 939, AM2, and 1207FX form factors
■ 1GHz HyperTransport interconnect (4GBps bandwidth)
The design of these processors has always included room for the second processor core along with a
crossbar memory controller to enable the processor cores to directly communicate with each other
without using the North Bridge, as with Intel’s initial dual-core processors. Figure 3.37 illustrates the
internal design of the Athlon 64 X2.
CPU 0
CPU 1
L2 Cache
f/CPU 0
L2 Cache
f/CPU 1
System Request Interface
Crossbar Switch
Memory
Controller
HyperTransport
Technology
Figure 3.37 The Athlon 64 X2 uses the integrated crossbar memory controller present from the beginning of the Athlon 64 processor design to enable the processor cores to communicate with each other.
The result is that most existing systems based on Socket 939 Athlon 64 can be upgraded to a dual-core
processor without a motherboard swap. As long as the motherboard supports the processor and a
dual-core BIOS upgrade is available from the motherboard or system vendor, the upgrade is possible.
Another benefit of AMD’s approach is the lack of a performance or thermal penalty in moving to a
dual-core design. Because the Athlon 64 design included provisions for a dual-core upgrade from the
beginning, the thermal impact of the second core is minimal, even though the dual-core processors
run at the same speeds as their single-core predecessors.
Table 3.23 provides a detailed comparison of the various dual-core Athlon X2, 64 X2, and Athlon 64
FX processors.
120
Chapter 3
Table 3.23
Processor Types and Specifications
Athlon X2, 64 X2, and 64 FX Processor Information
Processor Model Number
Cores
CPU Speed
Bus Speed
L2 Cache
CPU Core
Athlon X2 4450B-5600B
2
2.3–2.9GHz
1GHz
1MB
Brisbane
Athlon X2 3250e-5050e
2
1.5–2.6GHz
1GHz
1MB
Brisbane
Athlon X2 BE-2xxx
2
1.9–2.3GHz
1GHz
1MB
Brisbane
Sempron X2 2100-2300
2
1.8–2.2GHz
800MHz
512KB
Brisbane
Athlon 64 FX 70-74
2
2.6–3.0GHz
1GHz
2MB
Windsor
Athlon 64 X2 3600+-6000+
2
1.9–3.0GHz
1GHz
512KB–2MB
Windsor
Athlon 64 FX-60
2
2.6GHz
1GHz
2MB
Toledo
Athlon 64 X2 3800+-4800+
2
2.0–2.4GHz
1GHz
1–2MB
Toledo
Athlon 64 X2 3600+-4600+
2
2.0–2.4GHz
1GHz
512KB–1MB
Manchester
SSE = Streaming SIMD Instructions (MMX)
NX = Execute Disable Bit39
Cool’n’Quiet = Power-saving technology
VT = Virtualization Technology
AMD K10 Processors (Phenom, Phenom II,
Athlon II, Athlon X2, Sempron)
The K9 was a stillborn project within AMD, resulting in a skip from the K8 to the K10 architecture.
The first K10 processors were the Phenom models released in November 2007.
The AMD Phenom family of processors was designed as a flexible family of chips available with 1–6
K10 cores in a single die. These include the Phenom, Phenom II, Athlon II, and some models of the
Athlon X2 and Sempron processors. The initial versions used Socket AM2+, which included support
for DDR2 memory. Later versions used Sockets AM3 and AM3+, which support DDR3 memory. Figure
3.38 illustrates a Phenom II X6 processor for Socket AM3.
Figure 3.38 The Phenom II X6 conceals six cores and memory controllers for both DDR2 and DDR3
memory beneath its protective metal spreader plate.
Chapter 3
AMD K10 Processors (Phenom, Phenom II, Athlon II, Athlon X2, Sempron)
Mfg. Process
Max. Power
SSE
64-bit
NX
Cool’n’Quiet
VT
Socket
65nm
45–65W
SSE3
yes
yes
yes
yes
AM2
65nm
22–45W
SSE3
yes
yes
yes
yes
AM2
65nm
45W
SSE3
yes
yes
yes
yes
AM2
121
65nm
65W
SSE3
yes
yes
yes
—
AM2
90nm
125W
SSE3
yes
yes
yes
yes
AM2, 1207FX
90nm
65–125W
SSE3
yes
yes
yes
yes
AM2
90nm
110W
SSE3
yes
yes
yes
—
939
90nm
89–110W
SSE3
yes
yes
yes
—
939
90nm
89–110W
SSE3
yes
yes
yes
—
939
The Phenom X3, X4 and Athlon X2 processors were made on a 65nm process, whereas the Phenon II,
Athlon II, and Sempron 1xx processors use a smaller 45nm process, resulting in a smaller die with
overall lower power consumption and higher performance. Figure 3.39 illustrates the interior design
of the Phenom II X6 processor.
HyperTransport 0
128-bit dual-channel memory interface
13.7mm
256KB
L2
CPU
Core 0
HyperTransport 2
256KB
L2
CPU
Core 2
256KB
L2
256KB
L2
CPU
Core 4
256KB
L2
256KB
L2
L3 tags
North Bridge and HyperTransport Switch
6MB L3
cache
L3 tags
256KB
L2
CPU
Core 1
256KB
L2
CPU
Core 3
256KB
L2
256KB
L2
CPU
Core 5
256KB
L2
HyperTransport 1
256KB
L2
HyperTransport 3
21.4mm
Phenom IIx6 core diagram
Figure 3.39
A simplified diagram of the Phenom II X6 core’s major components.
The higher-end chips in this family include three, four, or six cores, L3 cache, and higher clock rates
and HyperTransport bus speeds (2GHz).
Table 3.24 provides a detailed comparison of the various AMD K10 family processors.
122
Chapter 3
Table 3.24
Processor Types and Specifications
AMD K10 Family Processor Information
Processor Model Number
Cores
CPU Speed
Bus Speed
Turbo Core
L2 Cache
L3 Cache
Phenom II X6
6
2.6-3.3GHz
2GHz
Yes
3MB
6MB
Phenom II X4
4
2.9-3.5GHz
2GHz
Yes
2MB
6MB
Phenom II X4*
4
2.5-3.7GHz
1.8-2GHz
No
2MB
4-6MB
Athlon II X4
4
2.2-3.8GHz
2GHz
No
2MB
—
Phenom II X3
3
2.4-3.2GHz
2GHz
No
1.5MB
6MB
Athlon II X3
3
2.2-3.4GHz
2GHz
No
1.5MB
—
2
2.8-3.5GHz
2GHz
No
1MB
6MB
Phenom II X2
2
3.4GHz
2GHz
No
1MB
6MB
Athlon II X2
Phenom II X2
2
1.6-3.3GHz
2GHz
No
1-2MB
—
Athlon II 1xxu
1
1.8-2GHz
1.8-2GHz
No
1MB
—
Sempron 1xx
1
2.7-2.9GHz
2GHz
No
1MB
—
Phenom X4
4
1.8-2.6GHz
1.6-2GHz
No
2MB
2MB
Phenom X3
3
1.9-2.5GHz
1.6-1.8GHz
No
1.5MB
2MB
Athlon X2
2
2.3-2.8GHz
1.8GHz
No
1MB
2MB
AM3 processors can also be used in Socket AM2+
motherboards with appropriate BIOS update
SSE = Streaming SIMD Instructions (MMX)
NX = Execute Disable Bit
Cool’n’Quiet = Power-saving technology
VT = Virtualization Technology
*Model 840 has no L3 cache
Zosma = Thuban with two cores disabled
AMD Fusion Processors
Fusion is AMD’s name for a variety of mobile, desktop, and server processors with in-core graphics.
AMD refers to Fusion processors as advanced processing units (APUs). The initial C-series (for netbooks) and E-series (for portable and low-cost desktops) were released in early 2011. The initial Aseries (for desktops) was released in mid-2011. In 2012, a Bulldozer-derived series of AMD Fusion
processors will be released for desktops. Fusion processors currently use 40nm or 32nm process, and
use a variety of BGA-based processor sockets.
“Bulldozer” is the code name for AMD’s replacement for the current K10 architecture. Processors
based on Bulldozer are scheduled for release by the beginning of 2012. Each Bulldozer core combines
two processor cores, 2MB of L2 cache, L1 data and instruction caches, and two 128-bit two-way
floating-point and SIMD math units that work together in a 256-bit wide array. Up to 8MB of L3
cache can be shared by the cores. Bulldozer will use Socket AM3+ motherboards.
To learn more about AMD Fusion, see the AMD Fusion website at http://sites.amd.com/us/fusion/apu/
Pages/fusion.aspx.
Processor Upgrades
Since the 486, processor upgrades have been relatively easy for most systems. With the 486 and later
processors, Intel designed in the capability to upgrade by designing standard sockets that would take a
variety of processors. This trend has continued to the present, with most motherboards being
designed to handle a range of processors in the same family.
Processor Upgrades
CPU Core
Process
Max. Power
SSE
64-bit
NX
Chapter 3
Cool ‘n’ Quiet
VT
123
Socket
Thuban
45nm
95-125W
SSE4a
yes
yes
yes
yes
AM3
Zosma
45nm
95-125W
SSE4a
yes
yes
yes
yes
AM3
Deneb
45nm
95-140W
SSE4a
yes
yes
yes
yes
AM3
Propus
45nm
45-95W
SSE4a
yes
yes
yes
yes
AM3
Heka
45nm
65-95W
SSE4a
yes
yes
yes
yes
AM3
Rana
45nm
45-95W
SSE4a
yes
yes
yes
yes
AM3
Callisto
45nm
80W
SSE4a
yes
yes
yes
yes
AM3
Regor
45nm
80W
SSE4a
yes
yes
yes
yes
AM3
Regor
45nm
25-65W
SSE4a
yes
yes
yes
yes
AM3
Sargas
45nm
20W
SSE4a
yes
yes
yes
yes
AM3
Sargas
45nm
45W
SSE4a
yes
yes
yes
yes
AM3
Agena
65nm
65-140W
SSE4a
yes
yes
yes
yes
AM2+
Toliman
65nm
65-95W
SSE4a
yes
yes
yes
yes
AM2+
Kuma
65nm
95W
SSE4a
yes
yes
yes
yes
AM2+
Propus = Deneb with no (or disabled) L3 cache
Heka = Deneb with one core disabled
Rana = Propus with one core disabled
Callisto = Deneb with two cores disabled
Toliman = Agena with one core disabled
Kuma = Agena with two cores disabled
To maximize your motherboard, you can almost always upgrade to the fastest processor your particular board will support. Because of the varieties of processor sockets and slots—not to mention voltages, speeds, and other potential areas of incompatibility—you should consult with your motherboard
manufacturer to see whether a higher-speed processor will work in your board. Usually, that can be
determined by the type of socket or slot on the motherboard, but other things such as the voltage
regulator and BIOS can be deciding factors as well.
For example, if your motherboard supports Socket AM2+, you might be able to upgrade from a dualcore Athlon X2 or quad-core processor in the Phenom II family, because they all can use the same
socket. Before purchasing a new CPU, you should verify that the motherboard has proper bus speed,
voltage settings, and ROM BIOS support for the new chip. Visit the motherboard or system manufacturer’s website to obtain the most up-to-date processor compatibility information and to download
BIOS updates that might be necessary.
Tip
If you are trying to upgrade the processor in a preassembled or retail store-bought system, you might have few processor
upgrade options using the BIOS provided by the system vendor. If you can figure out who made the motherboard (and if it
is not a proprietary unit), you might be able to contact the motherboard manufacturer for a more updated BIOS that supports more processors. You can also use the BIOSAgentPlus website (http://biosagentplus.com) to scan your computer,
determine if a BIOS update is available, and download it.
Upgrading the processor can, in some cases, double the performance of a system. However, if you
already have the fastest processor that will fit a particular socket, you need to consider other alternatives. In that case, you really should look into a complete motherboard change, which would let you
124
Chapter 3
Processor Types and Specifications
upgrade to one of the latest processors at the same time. If your chassis design is not proprietary and
your system uses an industry-standard ATX motherboard design, I normally recommend changing the
motherboard and processor together rather than trying to find an upgrade processor that will work
with your existing board. Keep in mind that new memory might also be necessary.
Overclocking
Another form of processor upgrade is to set the processor speed to run faster than the rating on the
chip; this is called overclocking. In many cases, you can get away with a certain amount of overclocking, because Intel, AMD, and others often build safety margins into their ratings. So, a chip rated for,
say, 3GHz might in fact run at 3.5GHz or more but instead be down-rated to allow for a greater margin
of reliability. By overclocking, you are using this margin and running the chip closer to its true maximum speed. I don’t normally recommend overclocking for a novice, but if you are comfortable playing
with your system settings, and you can afford and are capable of dealing with potential consequences,
overclocking might enable you to get another 10%–20% or more performance from your system.
Overclocking is usually applied to the processor, but it can also be applied to other components in the
system, including memory, video cards, bus speeds, and more.
When chips run faster, they run hotter, so cooling upgrades and modifications usually go hand-inhand with overclocking. Systems that run cool tend to be more stable and more reliable, so even if
you don’t overclock your system, ensuring that it runs cool is essential for trouble-free operation.
Many systems are not properly designed or configured for optimal cooling even at their standard
speeds, much less when overclocked.
Overclocking PCs dates all the way back to the original 4.77MHz IBM PC and 6MHz AT systems of the
early 1980s. In fact, IBM made overclocking the AT easy because the quartz crystal that controlled the
speed of the processor was socketed. You could obtain a faster replacement crystal for about a dollar
and easily plug it in. The first several editions of this book covered how to perform this modification
in detail, resulting in a system that was up to 1.5 times faster than it started out. Modern systems
allow overclocking without replacing any parts by virtue of programmable timer chips and simple and
easy-to-change BIOS Setup options. Some processors, such as Intel Extreme Edition and AMD Black
Edition processors, are especially suited to overclocking because they feature unlocked core multipliers. However, some overclocking is possible with almost any processor.
Quartz Crystals
To understand overclocking, you need to know how computer system speeds are controlled. The main
component controlling speed in a computer is a quartz crystal. Quartz is silicon dioxide (SiO2) in crystalline form. Oxygen and silicon are the most common elements on earth (sand and rock are mostly
silicon dioxide), and computer chips are made mainly from silicon. Quartz is a hard, transparent
material with a density of 2649 kg/m3 (1.531 oz/in3) and a melting point of 1750°C (3,182°F). Quartz
is brittle but with a little bit of elasticity, which is perhaps its most useful attribute.
In crystalline form, quartz can generate regular and consistent signal pulses to regulate electronic circuits, similar to the way a metronome can regulate music. Quartz crystals are used because they are
piezoelectric, which is defined as having a property that generates voltage when subjected to mechanical stress. The opposite is also true—that is, quartz generates mechanical stress or movement when
subjected to a voltage. Piezoelectricity was discovered by Pierre and Jacques Curie in 1880, and it is
the essential feature of quartz that makes it useful in electronic circuits.
Piezoelectricity works two ways, meaning that if a voltage is generated when you bend a crystal or
apply voltage to a crystal, it bends (contracts, expands, or twists) in a similar fashion. Although the
crystal is mostly brittle in nature, it is still somewhat elastic, such that any deformation tends to snap
Overclocking
Chapter 3
125
back and then occur again, resonating or vibrating at a natural frequency as long as the voltage is present. Much like a tuning fork or the pipes in an organ, the natural resonant frequency depends on the
size and shape of the crystal. In general, the smaller and thinner it is, the faster it vibrates.
The actual movement is exceedingly small, on the order of 68 nanometers (billionths of a meter) per
centimeter, which in a normal crystal is only a few atoms in length. Although the movement is small,
it is also quite rapid, which means tremendous forces can be generated. For example, the surface
acceleration of a 50MHz crystal can exceed five million times the force of gravity.
Crystal resonators are made from slabs of quartz sawed from raw quartz crystal stock. The raw stock
slabs are cut into squares, rounded, and ground into flat discs called blanks. The thinner the disc, the
higher the resonant frequency; however, there are limits as to how thin the discs can be made before
they break. The upper limit for fundamental mode resonators is approximately 50MHz. At that frequency, the discs are paper thin and are generally too fragile to withstand further grinding. Still,
higher-frequency crystals can be achieved by using harmonics of the fundamental frequency, resulting
in crystals of up to 200MHz or more. Even higher frequencies can be achieved by using frequency
synthesizer circuits, which use a base crystal-generated frequency fed to a circuit that then generates
multiples of frequency that can extend well into the gigahertz or terahertz range. In fact, crystal-based
frequency synthesizer circuits generate the high operating speeds of modern PCs.
The crystal packages, as well as the shape of the actual quartz crystals inside the packages, can vary.
The packages are usually a metal can that is either cylindrical or oblong in shape, but they can also
have other shapes or be constructed of plastic or other materials (see Figure 3.40).
The sliver of quartz inside the package is normally disc shaped, but it is shaped like a tuning fork in
some examples. Figure 3.41 shows a cylindrical crystal package with the cover removed, exposing the
tuning fork–shaped sliver of quartz inside.
Figure 3.40
Crystal packages of varying shapes.
Figure 3.41
tuning fork.
Crystal interior showing the quartz
Most crystals use a disc-shaped sliver of quartz as a resonator. The disc is contained in a hermetically
sealed evacuated enclosure. Figure 3.42 shows the interior view of a typical crystal with a disc-shaped
resonator inside. The quartz disc inside has electrodes on each side, allowing voltage to be applied to
the disc. The details are shown in Figure 3.43.
126
Chapter 3
Processor Types and Specifications
Electrodes
Quartz Disc
Side View
Top View
Metallic
Electrodes
Cover
Mounting Clips
Quartz
Crystal
Resonator
Pins
Figure 3.42 Figure showing the discshaped resonator.
Figure 3.43
Disc-shaped quartz resonator details.
Walter G. Cady was the first to use a quartz crystal to control an electronic oscillator circuit in 1921. He
published his results in 1922, which led to the development of the first crystal-controlled clock by
Warren A. Marrison in 1927. Today, all modern computers have multiple internal oscillators and
clocks, some for controlling bus and processor speeds and at least one for a standard time-of-day clock.
Modern PC Clocks
A typical PC has at least two crystals on the motherboard; the main crystal controls the speed of the
motherboard and motherboard circuitry, and the other controls the real-time clock (RTC). The main
crystal is always 14.31818MHz (it might be abbreviated as 14.318 or just 14.3), and the RTC crystal is
always 32.768KHz.
Why 14.31818MHz?
The original 1981 vintage IBM PC ran at 4.77MHz, a speed derived by taking a 14.31818MHz crystal and using a
divider circuit to divide the frequency by 3 to get 4.77MHz. Many people were confused as to why IBM chose to run the
processor at 4.77MHz; after all, the 8088 processor they used was rated for 5MHz, and all they would have had to do
to run it at that speed was change the main crystal from 14.318MHz to 15MHz instead. Well, the truth is that if they did
that, they would have had to add more crystals to the design. You see, the same 14.318MHz crystal that was divided
by 3 to run the processor was also divided by 4 to get 3.58MHz, which is the exact frequency needed for the NTSC
color video modulation signal to be compatible with color TV.
But that’s not all: Another circuit divided the crystal frequency by 12 to get 1.193182MHz, which was used by an 8253
programmable three-channel 16-bit interval timer/counter chip. Each channel could be used to take an input clock signal
and produce an output signal by dividing by an arbitrary 16-bit number. Channel 0 was used to make the time-of-day
clock ticks. It was programmed by the BIOS to call INT 08h every 65,536 ticks, which was about 18.2 times per second (or about every 55 milliseconds). The software routines linked to INT 08h caused the time-of-day clock to be updated
and could chain to any other activities that needed to be done periodically. Channel 1 was used to tell the DMA to
refresh the dynamic RAM every 72 cycles (about 15 microseconds), and channel 2 was used to make an audio signal for
the speaker (beeps)—different tones could be made by changing the divisor.
So by carefully choosing a 14.318MHz crystal instead of 15MHz or some other speed, the IBM engineers were able to
design a motherboard in which a single crystal could run the processor, video card, time-of-day clock, memory refresh, and
even beep tones. The single-crystal design allowed the motherboard to be manufactured with fewer parts and at a lower cost.
As a testament to their foresight, all modern PCs are still controlled by a 14.318MHz crystal! This crystal, in conjunction
with a frequency timing generator chip, derives virtually all the frequencies used on a modern motherboard by the CPU,
buses, memory, and more.
Overclocking
Chapter 3
127
PCs don’t run at 14.318MHz, so how can a crystal of that speed be used? And what happens when
you install a different processor? How does the system adjust the bus and other speeds to accommodate the new chip? The answer is that a special chip called a frequency timing generator (FTG) or frequency synthesizer is used in conjunction with the crystal to derive the actual speeds of the system.
Figure 3.44 shows a portion of a motherboard with an FTG chip and a 14.318MHz crystal below it.
Figure 3.44
An ICS 9250 frequency timing generator chip with a 14.318MHz crystal.
The RTC in the original PC was notoriously inaccurate, so starting with the IBM AT in 1984, IBM
added a separate 32.768KHz crystal to count time independent from the speed of the system. This
crystal is used on all modern motherboards as well. Figure 3.45 shows a 32.768KHz crystal next to a
chipset South Bridge or I/O controller hub, which contains the RTC circuitry and CMOS RAM.
Figure 3.45
clock crystal.
Chipset South Bridge (I/O controller hub) incorporating an RTC, along with the 32.768KHz
128
Chapter 3
Processor Types and Specifications
Most frequency synthesizer chips used on PC motherboards are made by a handful of companies,
including Integrated Device Technology (www.idt.com; formerly Integrated Circuit Systems) and
Cypress Semiconductor (www.cypress.com; formerly International Microcircuits Inc. [IMI]). These chips
use phased locked loop (PLL) circuitry to generate synchronized processor, PCI, AGP, and other bus
timing signals that are derived from a single 14.318MHz crystal. The crystal and frequency synthesizer
chip are usually situated near the processor and main chipset component of the motherboard.
The amazing thing about these chips is that most of them are programmable and adjustable, so they
can change their frequency outputs via software, which results in the system running at different
speeds. Because all CPUs are based on the speed of the CPU bus, when you change the CPU bus speed
generated by the frequency synthesizer chip, you can change the speed of your processor. Because the
PCI, AGP, and memory buses are often synchronized with the speed of the processor bus, when you
change the processor bus speed by a given percentage, you also change the speed of those other buses
by the same percentage. The software to accomplish this is built into the BIOS Setup menus of most
modern motherboards.
Overclocking Tips
Most modern motherboards automatically read the CPU and memory components to determine their
proper speed, timing, and voltage settings. Originally, these settings were controlled by jumpers and
switches, but in most modern boards you can enter the BIOS Setup to change these settings to manual and then use the menu options in the BIOS Setup to alter the speed of the system. Because such
alterations can make the system unstable, most systems are designed to boot into the BIOS Setup at a
default low speed so you are not locked out from making changes in the future. This makes overclocking as simple as changing a few menu options and then rebooting to test the selections you’ve made.
The concept for overclocking is simple: You change the settings to increase the speed of the processor,
memory, buses, and so on, until the system becomes unstable. Then you can go back in and reduce
the settings until the system is stable again. In this manner, you find the maximum sustainable speed
for a system. Because each processor is different, even ones with the same ratings can end up allowing
different maximum stable speeds.
Why can some chips be clocked faster than others? The reason is in how they are manufactured and
marked. As an example, the first Pentium 4 chips based on the Prescott core used die that were 112
square mm on 300mm wafers, resulting in a maximum of 529 full die per wafer. Due to defects, many
of those die wouldn’t work, but let’s say that 423 (about an 80% yield) were good. Intel initially sold
the Prescott core processors at speeds from 2.4GHz through 3.4GHz, which meant that all the die on
each wafer were designed to potentially run at the highest rated speed. However, out of the good
(working) die, testing would show that although some of those would indeed run at the highest
3.4GHz rated speed, others would work reliably only at lower speeds. The finished chips would have
been sorted into bins according to their speed test results.
Early in manufacturing a given processor design, the sorted bins of chips at the end of the line would
contain more that passed only the lower speed tests, and fewer that ran at the highest speeds. This is
why the fastest chips are the most expensive—generally fewer of the chips produced on a given day
will pass the testing at that speed. Eventually, however, as the manufacturing processes and chip
design are tweaked, more and more of the finished chips end up passing the higher-speed tests. But
because lower-speed chips are priced less and sell more, the manufacturer might have to dip into the
faster bins and mark those chips at the lower speeds to fill the larger number of orders.
Essentially what I’m saying is that chipmakers such as Intel and AMD make all the chips on a wafer
identically and try to make them so they will all run at the highest speeds. If you purchase one of the
lesser-rated chips, you really have the same chip (die) as the higher-rated versions; the difference is
the higher-rated ones are guaranteed to run at the higher speeds, whereas the lower-rated ones are
not. That is where overclockers come in.
Overclocking
Chapter 3
129
Tip
The current speed of a processor might not be its actual rated speed, either because of overclocking or because some
recent systems reduce processor speed when the system is not heavily tasked. Both Intel and AMD have developed software tools that can properly identify the rated speed of a processor.
For newer Intel processors, use the Intel Processor Identification Utility; for older chips, use the Intel Processor Frequency ID
Utility. Both of these are available from www.intel.com/support/processors/sb/CS-015477.htm.
For AMD processors, use either the AMD CPU Info program or the AMD Clock program. To find these, visit http://
support.amd.com, select Drivers and Downloads, All Processors. Then search for CPU info and AMD Clock.
One drawback of the Intel and AMD programs is that they only work on their respective brands of chips. Another excellent utility that works on both Intel and AMD processors is the CPU-Z program available from www.cpuid.com. I routinely
install this program on any systems I build or service because it provides universal processor (and chipset) identification.
Users who overclock their systems purchase chips rated at lower speeds and essentially do their own
testing to see if they will run at higher speeds. They can also start with the highest-rated chips and see
whether they can run them even faster, but success there is much more limited. The most successful
overclocking is almost always with the lowest-rated speed of a given design, and those chips are also
sold for the lowest price. In other words, statistically you might be able to find many of the lowestspeed grade chips that are capable of running at the highest-speed grade (because they are essentially
identical during manufacture); however, if you start with the highest-speed grade, you might be able
to increase the speed only a small percentage.
Just remember that a difference exists between the rated speed of a chip and the actual maximum
speed at which it runs. Manufacturers such as Intel and AMD have to be conservative when they rate
chips, so a chip of a given rating is almost always capable of running at least some margin of speed
faster than the rating—the question is, how much faster? Unfortunately, the only way to know that is
by trying it out—that is, by testing chips individually.
Unlocking Cores
A variation of overclocking is the unlocking of disabled cores on AMD Phenom II and Athlon II
processors for better performance in single-threaded and multithreaded applications and when multitasking. As Table 3.24 indicates, many of AMD’s X3 and X2 K10-based processors are based on X4
designs that have one or two cores disabled.
If you unlock these cores using a method such as enabling the Advanced Clock Calibration (ACC) feature in the system BIOS (see http://www.tomshardware.com/reviews/unlock-phenom-ii,2273-5.html
for details), one of the following results can take place:
■ The unlocked core may function perfectly. This is the result if a core were disabled strictly to
enable the chip to be sold as an X3 rather than an X4.
■ Your system boots and runs normally, but the ‘unlocked’ core can’t be detected or used. A core
disabled because of moderate problems would result in this problem.
■ Your system might not boot or might not be able to run Windows until you reset the ACC setting in your system BIOS to its default mode. More serious core stability problems would cause
this result.
■ You could destroy your processor or motherboard. This would be the result if the core were disabled because it contained a short.
130
Chapter 3
Processor Types and Specifications
To be able to try unlocking disabled cores, you need a motherboard that has an adjustable ACC setting in the system BIOS (many motherboards using the AMD750 South Bridge [SB] feature this
option) and a motherboard BIOS that does not include AMD-provided microcode to prevent unlocking via the ACC adjustment routine.
Although the AMD850 South Bridge used on the latest motherboards does not include an ACC
option, motherboard vendors such as ASUS and Gigabyte have added an ACC chip to their motherboards and added core unlocking capabilities to their BIOS setups. MSI also offers unlocking, but is
using a purely BIOS-based unlock routine for its motherboards with the SB850 processor.
If you do unlock an additional core or two, you might enjoy faster performance and better multithreaded and multitasking operating for free, or you might find your system to be unstable or unable
to start. Before you assume that a system that runs with an unlocked core is truly stable, use some of
the tests I recommend in Chapter 20, “PC Diagnostics, Testing, and Maintenance.”
Bus Speeds and Multipliers
Modern processors run at a multiple of the motherboard speed, and the selected multiple is usually
locked within the processor; therefore, all you can do to change speeds is change the processor bus
speed settings. The processor bus is also called the CPU bus, FSB, or processor side bus (PSB), all of
which are interchangeable terms.
For example, I built a system that uses an Intel Pentium 4 3.2E processor, which typically runs at
3,200MHz on an 800MHz CPU bus. Thus, the processor is locked to run at four times the speed of the
CPU bus. I was able to increase the CPU bus speed from 800MHz to 832MHz, which meant the
processor speed increased from 3,200MHz to 3,328MHz, which is 128MHz faster than the rating. This
took all of about 60 seconds to reboot, enter the BIOS Setup, make the changes in the menu, save,
and reboot again. This was only a 4% increase in overall speed, but it didn’t cost a penny, and testing
proved that the system was just as stable as it was before.
Many motherboards allow changes in speed of up to 50% or more, but a processor rarely sustains
speeds that far above its rating without locking up or crashing. Also note that, by increasing the speed
of the processor bus, you may also be increasing the speed of the memory bus, PCI bus, or PCI
Express (or AGP) bus by the same percentage. Therefore, if your memory is unstable at the higher
speed, the system will still crash, even though the processor might have been capable of sustaining it.
The lowest common denominator prevails, which means your system will run faster only if all the
components are up to the challenge.
Overclocking Pitfalls
If you are intent on overclocking, there are several issues to consider. One is that most processors sold
since 1998 are multiplier-locked before they are shipped out. Processors that are locked ignore any
changes to the multiplier setting on the motherboard. Although originally done to prevent re-markers
from fraudulently relabeling processors (creating “counterfeit” chips), multiplier locking has impacted
the computing performance enthusiast, leaving tweaking the motherboard bus speed as the only easy
way (or in some cases, the only way possible) to achieve a clock speed higher than standard.
Tip
Intel’s K-series Core i7 and i5 processors have unlocked clock multipliers, as do AMD’s Black Edition Phenom II. Phenom,
and Athlon X2 processors. Choose these processors along with a motherboard that offers adjustable clock settings in its
BIOS for easy overclocking.
Overclocking
Chapter 3
131
You can run into problems increasing motherboard bus speed as well. Most older Intel motherboards,
for example, simply don’t support clock speeds other than the standard settings. Some newer enthusiast-oriented Intel boards have “burn-in” or “override” features that allow you to increase the default
processor bus speed (and the speed of the processor core), voltages, and multiplier (for unlocked
CPUs). Most other brands of motherboards also allow changing the bus speeds. Note that small incremental changes in clock multiplier speeds, rather than large jumps, are the best way to coax a bit
more performance out of a particular processor. This is because a given chip is generally overclockable
by a certain percentage. The smaller the steps you can take when increasing speed, the more likely
that you’ll be able to come close to the actual maximum speed of the chip without going over that
amount and causing system instability.
For example, say you have a Socket 775 motherboard running a 2.4GHz Core 2 Quad processor at a
CPU FSB speed of 1,066MHz. The motherboard permits 1MHz adjustments of the CPU bus clock
speed (which is multiplied by 4 to obtain the FSB) to enable you to fine-tune your processor speed.
The base clock frequency is 266MHz and is multiplied by 4 to obtain the motherboard bus (FSB)
speed, which is then further increased by the CPU multiplier:
800MHz × 3.5 = 2,800MHz, or 2.8GHz
By adjusting the CPU clock frequency, you can change the FSB and CPU core clock speeds as shown
in Table 3.25.
Table 3.25
Core Clock, FSB, and CPU Speed Relationships
Base Clock
Frequency
Bus
Multiplier
(Fixed)
Resulting
FSB
Speed
CPU Core
Multiplier
(Locked)
Resulting
Processor
Speed
266 MHz
4X
1,066 MHz
9X
2.400 GHz
268 MHz
4X
1,072 MHz
9X
2.412 GHz
270 MHz
4X
1,080 MHz
9X
2.430 GHz
272 MHz
4X
1,088 MHz
9X
2.448 GHz
274 MHz
4X
1,096 MHz
9X
2.466 GHz
276 MHz
4X
1,104 MHz
9X
2.484 GHz
278 MHz
4X
1,112 MHz
9X
2.502 GHz
280 MHz
4X
1,120 MHz
9X
2.520 GHz
282 MHz
4X
1,128 MHz
9X
2.538 GHz
284 MHz
4X
1,136 MHz
9X
2.556 GHz
286 MHz
4X
1,144 MHz
9X
2.574 GHz
288 MHz
4X
1,152 MHz
9X
2.592 GHz
290 MHz
4X
1,160 MHz
9X
2.610 GHz
292 MHz
4X
1,168 MHz
9X
2.628 GHz
294 MHz
4X
1,176 MHz
9X
2.646 GHz
296 MHz
4X
1,184 MHz
9X
2.664 GHz
298 MHz
4X
1,192 MHz
9X
2.682 GHz
300 MHz
4X
1,200 MHz
9X
2.700 GHz
132
Chapter 3
Processor Types and Specifications
As you can see in this example, by increasing the base clock from 266MHz to 300MHz, you increase
the FSB from 1,066MHz to 1,200MHz, and the CPU core speed from 2.4GHz to 2.7GHz, nearly a 13%
increase. Typically, increases on the order of 10%–20% are successful. You might be able to achieve
more if your system offers excellent cooling and you can also adjust CPU multiplier, voltage, and
other settings.
Overclocking Sand Bridge Processors
The Sandy Bridge Core i-series processors from Intel have made drastic changes in how overclocking works. The clock
generator is incorporated into the 6-series chipsets that support Sandy Bridge processors, so that you can no longer independently adjust the speeds of buses such as PCI Express or DMI. The BCLK frequency is also locked at 100MHz (it was
133MHz with adjustments up or down in the Nehalem Core i-series processors).
If you want to have maximum overclock potential for a Core i-series Sandy Bridge processor, look for model numbers ending in K (for example, Core i7-2600K) and choose a motherboard with a chipset designed for overclocking, such as the
P67 or Z68.
Core i7 and i5 Sandy Bridge processors without the K suffix allow limited overclocking (“limited unlocking”) up to four
speed ranges (bins) above the normal turbo frequency (maximum clock speed). For example, a processor with a turbo frequency of 3.7GHz could be overclocked to 4.1GHz with one core running, 4.0GHz with two cores running, and so on.
Again, you need an overclock-friendly chipset such as the P67 or Z68 to make this happen.
Core i3 Sandy Bridge chips don’t include Turbo Boost and thus don’t support overclocking. Consequently, if you want to
overclock Sandy Bridge processors, your choice of processor and chipset is more important than ever before.
CPU Voltage Settings
Another trick overclockers use is playing with the voltage settings for the CPU. All modern CPU sockets and slots have automatic voltage detection. With this detection, the system determines and sets
the correct voltage by reading certain pins on the processor. Some motherboards do not allow manual
changes to these settings. Other motherboards allow you to tweak the voltage settings up or down by
fractions of a volt. Some experimenters have found that by either increasing or decreasing voltage
slightly from the standard, a higher speed of overclock can be achieved with the system remaining
stable. Some motherboards allow adjusting the voltage settings for the FSB, chipset, and memory
components, allowing for even more control in overclocking situations.
My recommendation is to be careful when playing with voltages because you can damage the processor or other components in this manner. Even without changing voltage, overclocking with an
adjustable bus speed motherboard is easy and fairly rewarding. I do recommend you make sure you
are using a high-quality board, good memory, and especially a good system chassis with additional
cooling fans and a heavy-duty power supply. See Chapter 18 for more information on upgrading
power supplies and chassis. Especially when you are overclocking, it is essential that the system components and the CPU remain properly cooled. Going a little bit overboard on the processor heatsink
and adding extra cooling fans to the case never hurts and in many cases helps a great deal when
hotrodding a system in this manner.
Processor Cooling
Heat can be a problem in any high-performance system. The higher-speed processors consume more
power and therefore generate more heat. The processor is usually the single most power-hungry chip
in a system, and in most situations, the fan inside your computer case is incapable of handling the
load without some help.
Processor Cooling
Chapter 3
133
Heatsinks
At one time, a heatsink (a special attachment for a chip that draws heat away from the chip) was
needed only in systems in which processor heat was a problem. However, starting with the faster
Pentium processors in the early 1990s, heatsinks have been a necessity for every processor since.
A heatsink works like the radiator in your car, pulling heat away from the engine. In a similar fashion,
the heatsink conducts heat away from the processor so it can be vented out of the system. It does this
by using a thermal conductor (usually metal) to carry heat away from the processor into fins that
expose a high amount of surface area to moving air. This enables the air to be heated, thus cooling
the heatsink and the processor. Just like the radiator in your car, the heatsink depends on airflow.
With no moving air, a heatsink is incapable of radiating the heat away. To keep the engine in your car
from overheating when the car is not moving, auto engineers incorporate a fan. Likewise, a fan is
incorporated somewhere inside your PC to move air across the heatsink and vent it out of the system.
In some systems, the fan included in the power supply is enough when combined with a special
heatsink design; in most cases, though, an additional fan must be attached directly over the processor
heatsink to provide the necessary levels of cooling. Case fans are also typical in recent systems to
assist in moving the hot air out of the system and replacing it with cooler air from the outside.
The heatsink is normally attached with clips or snap-in retainers. A variety of heatsinks and attachment methods exist. According to data from Intel, heatsink clips are the number-two destroyer of
motherboards (screwdrivers are number one), which is one reason the company moved away from
metal clips to plastic fasteners for its latest designs. When installing or removing a heatsink that is
clipped on, be sure you don’t scrape the surface of the motherboard.
Heatsinks are rated for their cooling performances. Typically, the ratings are expressed as a resistance
to heat transfer in degrees centigrade per watt (°C/W), where lower is better. Note that the resistance
varies according to the airflow across the heatsink.
Active Heatsinks
To ensure a constant flow of air and more consistent performance, most heatsinks incorporate fans so
they don’t have to rely on the airflow within the system. Heatsinks with fans are referred to as active
heatsinks (see Figure 3.46). Active heatsinks have a power connection. Older ones often used a spare
disk drive power connector, but most recent heatsinks plug into dedicated heatsink power connections common to most motherboards.The Socket 478 design uses two cams to engage the heatsink
clips and place the system under tension. The force generated is 75 lbs., which produces a noticeable
bow in the motherboard underneath the processor. This bow is normal, and the motherboard is
designed to accommodate it. The high degree of force is necessary to prevent the heavier heatsinks
from pulling up on the processor during movement or shipment of the system, and it ensures a good
bond for the thermal interface material (thermal grease).
Figure 3.47 shows the design used on most Socket AM3+, AM3, AM2+, AM2,940, 939, and 754 processors, featuring a cam and clip assembly on one side. Similar to the Socket 478 double-cam assembly,
this design puts 75 lbs. of force between the heatsink and the processor. Bowing of the motherboard
is prevented in this design by the use of a special stiffening plate (also called a backing plate) underneath the motherboard. The heatsink retention frame actually attaches to this plate through the
board. The stiffening plate and retention frame normally come with the motherboard, but the
heatsink with fan and the clip and cam assembly come with the processor.
134
Chapter 3
Processor Types and Specifications
Clip assembly
Fan/shroud
Heatsink
Retention mechanism
Pentium 4 processor
mPGA478B
478-pin socket
Figure 3.46
Active heatsink suitable for a Pentium 4 processor using Socket 478.
Fan
Heatsink
Clip and Cam
Sub-Assembly
Retention Frame
Processor
Insulator
Backplate
Figure 3.47 Active heatsink and cam retention mechanism used on Socket AM3+,AM3, AM2+, AM2, 940,
939, and 754 processors.
Processor Cooling
Chapter 3
135
Tip
One of the best reasons to use the motherboard-based power connectors for the fan is that most system BIOS setup programs can display the fan performance and report it to a system monitoring program. Because some processors—particularly older Athlon processors—can be destroyed in a few moments by a malfunctioning processor heatsink fan, this feature
can help prevent a disaster inside your system.
If you need to purchase an active heatsink, be aware that some on the market are of poor quality. The
bad ones have fan motors that use sleeve bearings, which freeze up after a short life. I recommend
only fans with ball-bearing motors, which last about 10 times longer than the sleeve-bearing types. Of
course, they cost more—but only about twice as much, so you’ll save money in the long run.
Newer fans include four-wire power connectors, which feature the standard power, ground, and tach
wires found in three-wire fans, but they also add a fourth wire for fan-speed control. These are known
as PWM (Pulse Width Modulation) fans because they use pulse width modulation signals from the
motherboard to control their speed more precisely and with more variations in speed. Standard threewire fans have internal thermal resistors (thermistors) that control fan speed, and these normally offer
only two-speed operation. With the PWM setup, the motherboard can monitor system and processor
temperatures and variably control the fan speed to maintain the desired temperatures.
Heatsinks designed for LGA775, LGA1156, or LGA1366 sockets usually include plastic retainer clips that
snap into holes in the motherboard. To install this type of heatsink, you merely align the tops of the
clips such that the arrows are rotated all the way to the left (opposite the direction of the arrow) and
then press the tops down until the bottom parts click and lock into the holes in the motherboard. To
remove the heatsink, you insert a flat blade screwdriver into the slot under the arrows and then rotate
the tops in the direction of the arrows. As you rotate each clip, it will pop out of the motherboard.
Figure 3.48 shows an active heatsink for Socket LGA1155 processors, featuring these snap-in retainers.
Figure 3.48
LGA1155 boxed processor heatsink showing snap-in retainers and a four-wire PWM fan.
136
Chapter 3
Processor Types and Specifications
Purchasing a Heatsink
With the variety of processor designs on the market today, you also need to match the thermal output of the processor to the thermal-handling capability of the heatsink you plan to use. The heatsink
performance required by a given processor depends on two main figures: the maximum allowable
case temperature as well as the maximum power output. Refer to the upcoming section titled
“Heatsink Ratings and Calculations” to see how you can calculate the maximum thermal resistance
you need. You can always install a heatsink with a lower thermal resistance, which will only improve
the cooling, but you should never install a heatsink that has a higher thermal resistance than your
processor requires.
Processors sold as boxed or retail versions from Intel and AMD include high-quality active heatsinks
designed to work under the worst possible ambient conditions. One of the main reasons I recommend
purchasing boxed processors is that you are guaranteed to get a high-quality heatsink with the processor, one that is designed to cool the processor under the worst conditions and that should last the life
of the system.
If you purchase an OEM processor that comes without a heatsink, you can expect to pay anywhere
from $25 to $60 for a high-quality active fan heatsink, with some of the boutique models costing
even more. You’ll invariably pay more for the most efficient, best-cooling active heatsinks, and those
overclockers who swear by these devices usually also believe that the extra expense is worthwhile.
Note
Passive heatsinks are basically aluminum-finned radiators that are more difficult to integrate because they rely on airflow
from an external source, usually provided by a chassis-mounted fan that sometimes features a duct to direct airflow directly
through the fins on the heatsink. Passive heatsinks are seldom used on current processors, although they have been popular in the past on name-brand systems. Passive heatsinks connected to heatpipes are currently popular for chipset cooling.
“Boutique” Heatsinks
A large market exists for high-end “boutique” heatsink products, many of which have shapes and
designs that would qualify them more as industrial art than an internal computer component. These
fancy heatsinks are popular with overclockers as well as those who like to modify their systems in
general.
Although I certainly appreciate a good-looking piece of hardware as much as anybody, as an engineer
I am more concerned about performance than appearance. Most of the boutique designs do in fact
have outstanding thermal performance, but the actual level of performance is rarely documented
(making comparisons difficult) and may come with other costs besides a high price. These drawbacks
include awkward sizes, excessive weight that could damage the processor or motherboard, and attachment hardware that can be difficult to use.
Perhaps my main beef is the lack of technical documentation. The primary specification for the thermal performance of a heatsink is the thermal resistance, specified in degrees Celsius per watt. The
lower this figure, the better the performance. Unfortunately, most of the boutique heatsinks on the
market don’t include this figure in their specifications. Without knowing the thermal resistance, you
have no easy way to compare the performance of one heatsink to another.
Heatsink Ratings and Calculations
When cooling a processor, the heatsink transfers heat from the processor to the air. This capability is
expressed in a figure known as thermal resistance, which is measured in degrees Celsius per watt
(C/W). The lower the figure, the lower the thermal resistance and the more heat the heatsink can
remove from the CPU.
Processor Cooling
Chapter 3
137
To calculate the heatsink your processor requires, you can use the following formula:
Rtotal = Tcase – Tinlet/Ppower
Tcase is the maximum allowable CPU case temperature, Tinlet is the maximum allowable inlet temperature to the CPU heatsink, and Ppower is the maximum power dissipation of the processor. For example,
the Pentium 4 3.4E (Prescott) processor is rated for a maximum case temperature of 73°C and has a
maximum TDP (Thermal Design Power) output of 103 watts. Intel recommends a maximum heatsink
inlet temperature of 38°C, which means the heatsink required to properly cool this chip needs to be
rated 0.34°C/W, or (73°C – 38°C) / 103W.
A more extreme example is the Core 2 Extreme QX6800 quad-core processor, which is rated for a
maximum 54.8°C at 130W TDP (Thermal Design Power). This requires an exceptionally high performance heatsink rated 0.13°C/W, or (54.8°C – 38°C) / 130. A resistance rating this low usually requires
some form of liquid cooling.
Another useful formula can describe processor power:
Ppower = C × V2 × F
Ppower is the maximum power output of the processor, C is the capacitance, V2 is the voltage squared,
and F is the frequency. From this you can see that if you double the frequency of a processor, it consumes twice as much power, and if you double the voltage, it consumes four times as much power.
Consequently, if you lower the voltage by half, it consumes only one-fourth the power. These relationships are important to consider if you are overclocking your processor because a small increase in
voltage has a much more dramatic effect than a similar increase in speed.
In general, increasing the speed of a processor by 5% increases the power consumption by only the
same amount. Using the previous heatsink calculation, if the processor speed was increased by 5%,
the 103W processor would now draw 108.15W and the required heatsink rating would go from
0.34°C/W to 0.32°C/W, a proportional change. In most cases, unless you are overclocking to the
extreme, the existing heatsink should work. As a compromise, you can try setting the voltage on
manual and dropping it a small amount to compensate, thereby reducing the power consumption. Of
course, when you drop the voltage, the CPU might become unstable, so you need to test it. As you
can see, changing all these settings in the interest of overclocking can take a lot of time when you
consider all the testing required to ensure everything is working properly. You have to decide whether
the rewards are worth the time and energy spent on setting it up and verifying the functionality.
Note that most professional heatsink manufacturers publish their °C/W ratings, whereas many of
what I call the “boutique” heatsink vendors do not. In many cases the manufacturers of many of the
more extreme heatsinks don’t do the testing that the professional manufacturers do and are more
interested in the looks than the actual performance.
Installing a Heatsink
To accomplish the best possible transfer of heat from the processor to the heatsink, most heatsink
manufacturers specify some type of thermal interface material to be placed between the processor and
heatsink. This typically consists of a ceramic, alumina, or silver-based grease but can also be in the
form of a special pad or even a type of double-stick tape. Some are called phase-change material
because they change viscosity (become thinner) above certain temperatures, enabling them to better
flow into minute gaps between the chip and heatsink. In general, thermal greases offer higher performance than phase-change materials, but because they always have a lower viscosity, they flow more
easily, can be messy to apply, and (if too much is used) can spill from the sides onto the socket and
motherboard.
138
Chapter 3
Processor Types and Specifications
No matter what type you use, a thermal interface aid such as thermal grease or phase-change material
can improve heatsink performance dramatically compared to installing the heatsink dry. Thermal
interface materials are rated by thermal conductance (in which case higher is better) or thermal resistance (in which case lower is better). Unfortunately, several industry-standard rating scales measure
performance, often making product comparisons difficult. Some measure the thermal conductivity;
others measure the thermal resistance; and the scales used can vary greatly. The most commonly
reported specification is thermal resistance in degrees centigrade per watt (°C/W) for an interface layer
0.001-inch thick and 1 square inch in size. For a given material, the thinner the interface layer or the
larger the area, the lower the resistance. In addition, due to other variables such as surface roughness
and pressure, it is often impossible to directly compare different materials even if they appear to use
the same ratings scale.
I’ve seen actual tests of multiple brands of thermal greases, and in most cases the differences in temperature readings between different brands are insignificant. For that reason, I generally don’t get too
excited about different brands of thermal grease; most of the premium products on the market have
surprisingly similar performance.
Liquid Cooling
One of the more extreme methods for cooling a PC is to use some form of liquid cooling. Liquids
have a much greater thermal carrying capacity than air, and as processors run hotter and hotter, it can
be advantageous or even necessary to use a form of liquid cooling to dissipate the extreme levels of
heat generated, especially in smaller or more confined spaces.
Several forms of liquid cooling are available, including the following:
■ Heat pipes
■ Water cooling
■ Refrigeration
Each of these uses a liquid or vapor to absorb the heat of the processor or other components and take
that heat to a heat exchanger where it must eventually be dispersed to the air. So, all liquid cooling
involves air cooling as well; it just removes the exchange of heat to the air to a remote place. Also, the
heat exchanger (radiator) used can be much larger than what would fit directly on the processor or
other chips, which is another reason liquid cooling offers much greater cooling capacity.
Of all the types of liquid cooling available, heat pipes are the only type that is practical and costeffective in production-level PCs. Water cooling and especially refrigeration are limited to those who
are pursuing extreme overclocking and are willing to pay the high prices and put up with all the
drawbacks and disadvantages that come with these two options.
Thermally Advantaged Chassis
PC power supplies have always contained a fan. For many years, that single fan in the power supply
bore the responsibility of cooling not only the supply, but also the entire system and even the processor. In fact, PCs prior to the 486 didn’t even use heatsinks on the processor because they generated
only a couple of watts of heat. Passive heatsinks first became a standard fixture on processors with the
486DX2 in 1992, which used up to 5.7W of power. Active heatsinks first appeared on the retail
Pentium processors from Intel (called Overdrive processors) and became a standard fixture on boxed
or retail Pentium II and III and AMD Athlon models in 1997 and later. Most chassis up until that time
did not incorporate a cooling fan, except for what was in the power supply.
Chassis fans first became popular in OEM systems in the mid-1990s because they usually used less
expensive passive heatsinks on the processor. It was more efficient to use a single chassis fan to cool
Processor Cooling
Chapter 3
139
both the chassis and the processor and save money by using a passive heatsink (without a fan) on the
processor. By 2000, with the Pentium 4, many systems began using both an active processor heatsink
(with a fan) and a chassis fan. Most modern systems include three fans—one in the power supply, one
in the active heatsink on the processor, and one for the rear of the chassis. Some systems have additional fans (a second rear fan and a front-mounted fan for cooling hard disk drives are popular addons), but three is the most common and most cost-effective design.
Unfortunately, with high-performance processors reaching and even exceeding the 100W power level,
it has become impossible for a standard chassis design to cool the system without resorting to adding
more fans or using more exotic (and expensive) liquid cooling setups. A minor breakthrough in chassis design has occurred that can allow even processors consuming more than 100W to be adequately
cooled in a three-fan system, without employing exotic solutions or even adding fans.
As you know from the formula earlier in this chapter, processor power consumption is proportional to
speed and is proportional to the square of the voltage it consumes. Even though processor voltages
have been decreasing, speeds have been increasing at a much more rapid pace, such that power consumption is reaching all-time high levels beyond 120W. To combat this heat, heatsink manufacturers
have increased the efficiency of processor heatsinks significantly over the past 10–15 years. Heatsinks
are available today with thermal resistances on the order of 0.33°C/W or less. Unfortunately, conventional air-cooled heatsinks are fast approaching the limits of the technology.
Improving Thermal Performance
One cost-effective method of improving heatsink performance is to reduce the ambient temperature
around the processor, which means lowering the temperature of air entering the heatsink. To ensure
proper cooling for their boxed (retail) processors, Intel and AMD specify maximum temperature limits
for the air that enters the heatsink fan assembly. If the air temperature entering the heatsink goes over
that amount, the heatsink cannot adequately cool the processor. Because they must account for
extreme circumstances, all modern systems and heatsinks are designed to operate properly if the
external environmental ambient temperature in the room is 35°C (95°F). This means that, in general,
PCs are designed to work in environments of up to that temperature. To operate in environments
with higher temperatures than that, PCs require more specialized designs. Table 3.26 shows the maximum heatsink air inlet temperatures allowed for various processors with factory-installed heatsinks.
Table 3.26
Maximum Heatsink Inlet Temperatures for Various Processors
Environmental Temp.
Max. Heatsink Inlet Temp.
Processor Type
35°C (95°F)
45°C (113°F)
Older AMD and Intel processors
35°C (95°F)
42°C (107.6°F)
AMD Athlon and newer processors
35°C (95°F)
40°C (104°F)
Intel Pentium 4 and newer processors
35°C (95°F)
38°C (100.4°F)
Some high-end or “Extreme” processors
As you can see, for a long time new processors continually made more demands on system cooling.
With the recent trend on the part of Intel and AMD to increase speed through chip design rather
than pure clock speed increases, this trend has plateaued to an extent. The most demanding processors today require that the internal chassis temperature remain at or below 40°C (104°F), even if the
system is running in a room temperature of 35°C (95°F). The internal temperature rise, or preheating
of air inside the system, is typically caused by heat from components such as motherboard chipsets,
graphics cards, memory, voltage regulators, disk drives, and other heat-generating components
(including the processor). Even with all these devices producing heat, the specifications for many
newer processors require that the air temperature inside the chassis at the heatsink rise only to 3°C
(5.4°F) over ambient. This places extreme demands on the chassis cooling.
140
Chapter 3
Processor Types and Specifications
Conventional chassis are incapable of maintaining that low of a differential between the chassis interior and ambient temperatures. The only way to achieve that has been by adding an excessive number
of fans to the system, which unfortunately adds cost and significantly adds to the noise level. Many
systems with multiple fans on the front, rear, and sides are still incapable of maintaining only 3°C
(5.4°F) over ambient at the processor heatsink.
Both Intel and AMD have been releasing documents describing the thermal attributes of their processors and guides showing ideas for cooling systems and chassis designs that can adequately cool the
system. Chassis that have been specifically designed to improve cooling for the processor by maintaining a temperature of 40°C or less at the processor heatsink inlet are often referred to as thermally
advantaged chassis. Using a thermally advantaged chassis allows the processor to remain cool, even
under extreme environmental conditions, and it reduces noise. Most modern processors and chassis
incorporate cooling systems that can adjust the speeds of the fans. If the temperatures remain below
specific limits, the fans run at lower speeds, thus reducing the noise level. If temperatures rise, so do
fan speeds and noise. In general, thermally advantaged chassis enable fan speeds to remain lower,
resulting in quieter operation.
The original specification for a thermally-advantaged chassis was known as the Chassis Air Guide
design guide (CAG), originally published in May 2002 and revised in September 2003. The CAG provided specifications for a processor duct and for an additional vent in the side cover for adapter cards
such as graphics boards. The CAG was developed at a time when the dominant processors in the marketplace, the Intel Pentium 4 family, had thermal design power specifications as high as 140W.
Since the replacement of the Pentium 4 by cooler-running Core 2 and Core i-series processors and the
development of K10 processors from AMD, most of which have thermal design power specifications
of 95W or less, the requirements for a thermally-advantaged chassis have changed. The CAG design
guide has now been replaced by the Thermally Advantaged Chassis (TAC) design guide (numbered
version 2.0 to reflect its origin as an update of the CAG).
To meet the TAC Design Guide version 2.0 requirements (available from the System Design section of
www.formfactors.org), the following specifications are recommended:
■ Accepts an industry-standard ATX, MicroATX, or FlexATX motherboard
■ Accepts an industry-standard ATX, SFX, or TFX power supply with integral exhaust fan
■ Uses a processor with an active heat sink designed for the processor
■ Uses a side cover with an optimized side vent of 100mm wide by 150mm tall. The recommended open area should be at least 60%.
■ Provides a primary chassis rear exhaust fan of 92mm or larger.
Note
One of the major recommendations of the original Chassis Air Guide (CAG) Design Guide was the use of a processor
duct to deliver air directly to the processor heatsink. Although this was an effective solution to processor cooling, a motherboard upgrade with a different location for the processor than on the original motherboard would cause the processor
duct to be unable to provide effective processor cooling. For this reason, the Thermally Advantaged Chassis (TAC) Design
Guide, which replaces the CAG, no longer includes this recommendation.
To learn more about using and making a processor duct, see “Processor Duct” and “Adding a Processor Duct” in Chapter
3 of Upgrading and Repairing PCs, 19th edition, available in its entirety on the disc packaged with this book.
Because a thermally advantaged chassis is much better at cooling for little extra cost, I highly recommend that you look for these features on the next system you buy or build.
Processor Troubleshooting Techniques
Chapter 3
141
Processor Troubleshooting Techniques
Processors are normally reliable. Most PC problems are with other devices, but if you suspect the processor, you can take some steps to troubleshoot it. The easiest thing to do is to replace the microprocessor
with a known-good spare. If the problem goes away, the original processor is defective. If the problem
persists, the problem is likely elsewhere.
Table 3.27 provides a general troubleshooting checklist for processor-related PC problems.
Table 3.27
Troubleshooting Processor-Related Problems
Problem Identification
Possible Cause
Resolution
System is dead, no cursor,
no beeps, no fan.
Power cord failure.
Plug in or replace power cord. Power cords
can fail even though they look fine.
Power supply failure.
Replace the power supply. Use a known-good
spare for testing.
Motherboard failure.
Replace motherboard. Use a known-good
spare for testing.
Memory failure.
Remove all memory except one bank and
retest. If the system still won’t boot, replace
bank 1.
System is dead, no beeps,
or locks up before POST
begins.
All components either not
installed or incorrectly
installed.
Check all peripherals, especially memory and
graphics adapter. Reseat all boards and
socketed components.
System beeps on startup, fan
is running, no cursor onscreen.
Improperly seated or failing
graphics adapter.
Reseat or replace graphics adapter.
Use known-good spare for testing.
System powers up, fan is
running, no beep or cursor.
Processor not properly
installed.
Reseat or remove /reinstall processor and
heatsink.
Locks up during or shortly
after POST.
Poor heat dissipation.
Check CPU heatsink fan; replace if necessary
with one of higher capacity.
Improper voltage settings.
Set motherboard for proper core processor
voltage.
Wrong motherboard bus speed.
Set motherboard for proper speed.
Wrong CPU clock multiplier.
Set motherboard for proper clock multiplier.
Unlocked failed core.
Relock unlocked processor core.
Improper CPU identification
during POST.
Old BIOS.
Board not configured properly.
Update BIOS from manufacturer.
Check manual and set board accordingly to
proper bus and multiplier settings.
System won’t start after
new processor is installed.
Processor not properly installed.
Reseat or remove/reinstall processor and
heatsink.
BIOS doesn’t support
new processor.
Update BIOS from system or motherboard
manufacturer.
Motherboard can’t use
new processor.
Verify motherboard support.
Unlocked processor
core failed.
Reset motherboard to use only working cores.
142
Chapter 3
Table 3.27
Processor Types and Specifications
Continued
Problem Identification
Possible Cause
Resolution
OS will not boot.
Poor heat dissipation.
Check CPU fan (replace if necessary);
it might need a higher-capacity heatsink or
heatsink/fan on the North Bridge chip.
Reset motherboard for proper core voltage.
Reset proper speed.
Reset clock proper clock multiplier.
Improper drivers or incompatible hardware;
update drivers and check for compatibility
issues.
Improper voltage settings.
Wrong motherboard bus speed
Wrong CPU clock multiplier.
Applications will not
install or run.
System appears to work,
but no video is displayed.
Monitor turned off or failed.
Check monitor and power to monitor.
Replace with known-good spare for testing.
If during the POST the processor is not identified correctly, your motherboard settings might be incorrect or your BIOS might need to be updated. Check that the motherboard is configured correctly for
your processor, and make sure you have the latest BIOS for your motherboard.
If the system seems to run erratically after it warms up, try setting the processor to a lower speed setting. If the problem goes away, the processor might be defective or overclocked.
Many hardware problems are really software problems in disguise. Be sure you have the latest BIOS for
your motherboard, as well as the latest drivers for all your peripherals. Also, it helps to use the latest
version of your given OS because there usually will be fewer problems.
Chapter
4
Motherboards and Buses
Motherboard Form Factors
Without a doubt, the most important component in a PC system is the main board or motherboard. Virtually every internal component in a PC connects to the motherboard, and its features
largely determine what your computer is capable of, not to mention its overall performance.
Although I prefer the term motherboard, other terms such as main board, system board, and planar are
interchangeable. This chapter examines the various types of motherboards available and those components typically contained on the motherboard and motherboard interface connectors.
Several common form factors are used for PC motherboards. The form factor refers to the physical
dimensions (size and shape) as well as certain connector, screw hole, and other positions that dictate into which type of case the board will fit. Some are true standards (meaning that all boards
with that form factor are interchangeable), whereas others are not standardized enough to allow for
interchangeability. Unfortunately, these nonstandard form factors preclude any easy upgrade or
inexpensive replacement, which generally means you should avoid them. The more commonly
known PC motherboard form factors include the following:
Obsolete Form Factors
■ Baby-AT (PC and XT)
■ Full-size AT
■ LPX (semiproprietary)
■ NLX
■ WTX
■ BTX, microBTX, picoBTX
Modern Form Factors
■ ATX and variants; microATX, FlexATX, DTX/Mini-DTX, and ITX/Mini-ITX
144
Chapter 4
Motherboards and Buses
PC motherboard form factors have evolved over the years from the Baby-AT form factor boards based
on the original IBM PC and XT, to the current ATX form factor (and variants) used in most desktop
and tower systems. ATX has a growing number of variants, mostly in smaller sizes designed to fit different market segments and applications. The short-lived BTX form factors relocated major components to improve system cooling and incorporate a thermal module.
Anything that does not fit into one of the industry-standard form factors should be considered proprietary. Unless there are special circumstances, I do not recommend purchasing systems based on proprietary board designs. They are difficult to upgrade and expensive to repair because components such
as the motherboard, case, and power supply are not interchangeable with other systems. I often call
proprietary form factor systems “disposable” PCs because that’s what you must normally do with
them when they are too slow or need repair out of warranty.
Obsolete Form Factors
The following sections examine industry-standard motherboard form factors no longer in use, but
which can be commonly found on older systems.
PC and XT
The first popular PC motherboard was, of course, the original IBM PC released in August 1981. Figure
4.1 shows how this board looked. IBM followed the PC with the XT motherboard in March 1983,
which had the same size and shape as the PC board but had eight slots instead of five. Both the IBM
PC and XT motherboards were 9 inch×13 inch. Also, the slots were spaced 0.8 inches apart in the XT
instead of 1 inch apart as in the PC (see Figure 4.2). The XT also eliminated the little-used cassette
port in the back, which was supposed to be used to save BASIC programs on cassette tape instead of
the much more expensive (at the time) floppy drive.
8259 Interrupt controller
Cassette I/O
Keyboard I/O
8-bit ISA bus slots
{
J1
J2
J3
J4
J6
J5
J7
System-board
power
connections
Clock chip
trimmer
1
Read-only
memory
2
1
1
8
8
Intel 8087
math
coprocessor
Intel 8088
processor
DIP
switch
block 2
64K to 256K
read/write
memory with
parity checking
{
8237
DMA
controller
P3
Pin 1
Figure 4.1
Speaker
output
P4
Cassette microphone
or auxiliary select
IBM PC motherboard (circa 1981).
DIP switch block 1
Motherboard Form Factors
Clock chip trimmer
Chapter 4
145
Keyboard I/O
8-bit ISA bus slots
J1
J2
J3
J4
J5
J6
J7
J8
J9
System-board
power
connections
Intel 8087 math
coprocessor
Intel 8088
processor
ROM BASIC
ROM BIOS
8259
Interrupt
controller
As
much as
640K
read/write
memory
with parity
checking
System
Configuration
DIP
switches
8237 DMA
controller
{
P3
Pin 1
Figure 4.2
Speaker output
IBM PC-XT motherboard (circa 1983).
Note
The Technical Reference section of the disc accompanying this book contains detailed information on the PC (5150) and
XT (5160). All the information there is printable.
The minor differences in the slot positions and the deleted cassette connector on the back required a
minor redesign of the case. In essence, the XT was a mildly enhanced PC, with a motherboard that
was the same overall size and shape, used the same processor, and came in a case that was identical
except for slot bracketry and the lack of a hole for the cassette port. Eventually, the XT motherboard
design became popular, and many other PC motherboard manufacturers of the day copied IBM’s XT
design and produced similar boards.
Full-Size AT
The full-size AT motherboard form factor matches the original IBM AT motherboard design. This
allows for a large board of up to 12 inches wide by 13.8 inches deep. The full-size AT board first
debuted in August 1984, when IBM introduced the Personal Computer AT (advanced technology). To
accommodate the 16-bit 286 processor and all the necessary support components at the time, IBM
needed more room than the original PC/XT-sized boards could provide. So for the AT, IBM increased
the size of the motherboard but retained the same screw hole and connector positions of the XT
design. To accomplish this, IBM essentially started with a PC/XT-sized board and extended it in two
directions (see Figure 4.3).
146
Chapter 4
Motherboards and Buses
8/16-bit ISA bus slots
Keyboard connector
Battery connector
Math coprocessor connector
Display switch
CMOS RAM/RTC
8042 keyboard
controller
8259 interrupt
controllers
286 processor
Clock crystal
ROM
BIOS
sockets
8237 DMA
controllers
Variable capacitor
clock trimmer
128K
Memory modules
Keylock connector
Speaker connector
Figure 4.3
IBM AT motherboard (circa 1984).
Note
The Technical Reference section of the disc enclosed with this book contains detailed coverage of the AT and the XT
Model 286.
A little more than a year after being introduced, the appearance of chipsets and other circuit consolidation allowed the same motherboard functionality to be built using fewer chips, so the board was
redesigned to make it slightly smaller. Then, it was redesigned again as IBM shrank the board down to
XT-size in a system it called the XT-286 (introduced in September 1986). The XT-286 board was virtually identical in size and shape to the original XT, a form factor which would later be known as
Baby-AT.
The keyboard connector and slot connectors in the full-size AT boards still conformed to the same
specific placement requirements to fit the holes in the XT cases already in use, but a larger case was
still required to fit the larger board. Because of the larger size of the board, a full-size AT motherboard
only fits into full-size AT desktop or tower cases. Because these motherboards do not fit into the
smaller Baby-AT or mini-tower cases, and because of advances in component miniaturization, they are
no longer being produced by most motherboard manufacturers—except in some cases for dual processor server applications.
The important thing to note about the full-size AT systems is that you can always replace a full-size
AT motherboard with a Baby-AT (or XT-size) board, but the opposite is not true unless the case is large
enough to accommodate the full-size AT design.
Baby-AT
After IBM released the AT in August 1984, component consolidation allowed subsequent systems to
be designed using far fewer chips and requiring much less in the way of motherboard real estate.
Motherboard Form Factors
Chapter 4
147
Therefore, all the additional circuits on the 16-bit AT motherboard could fit into boards using the
smaller XT form factor.
The Baby-AT form factor is essentially the same form factor as the original IBM XT motherboard. The
only difference is a slight modification in one of the screw hole positions to fit into an AT-style case.
These motherboards also have specific placement of the keyboard and slot connectors to match the
holes in the case. Note that virtually all full-size AT and Baby-AT motherboards use the standard 5-pin
DIN type connector for the keyboard. Baby-AT motherboards can replace full-size AT motherboards
and fit into several case designs. Because of its flexibility, from 1983 into early 1996, the Baby-AT
form factor was the most popular motherboard type. Starting in mid-1996, Baby-AT was replaced by
the superior ATX motherboard design, which is not directly interchangeable. Figure 4.4 shows the
onboard features and layout of a late-model Baby-AT motherboard.
The easiest way to identify a Baby-AT form factor system without opening it is to look at the rear of
the case. In a Baby-AT motherboard, the cards plug directly into the board at a 90° angle; in other
words, the slots in the case for the cards are perpendicular to the motherboard. Also, the Baby-AT
motherboard has only one visible connector directly attached to the board, which is the keyboard
connector. Typically, this connector is the full-size 5-pin DIN type connector, although some Baby-AT
systems use the smaller 6-pin mini-DIN connector (sometimes called a PS/2-type connector) and might
even have a mouse connector. All other connectors are mounted on the case or on card edge brackets
and are attached to the motherboard via cables. The keyboard connector is visible through an appropriately placed hole in the case.
◊◊
See “Keyboard/Mouse Interface Connectors,” p. 742 (Chapter 15, “Input Devices”).
All Baby-AT boards conform to specific widths and screw hole, slot, and keyboard connector locations, but one thing that can vary is the length of the board. Versions have been built that are smaller
than the full 9 inches×13 inches; these are often called mini-AT, micro-AT, or even things such as 2/3Baby or 1/2-Baby. Even though they might not be the full size, they still bolt directly into the same
case as a standard Baby-AT board and can be used as a direct replacement for one.
LPT (parallel) port header cable connector
Floppy controller cable connector
ATX (20-pin) power supply connector
COM (serial) ports header
cable connectors (2)
LPX (12-pin) power
supply connector
IDE host adapter
cable connectors (2)
32-bit PCI
expansion slots (3)
BIOS chip
Combo PCI/ISA
expansion slot
72-pin SIMM sockets (2)
168-pin DIMM sockets (3)
AGP video card slot
VIA Apollo MVP 3
chipset (2 chips)
L2 cache memory
(1MB total from 2 chips)
Super Socket 7 CPU socket
ISA expansion slots (3)
Figure 4.4 A late-model Baby-AT motherboard, the Tyan Trinity 100AT (S1590). Photo courtesy of Tyan
Computer Corporation.
148
Chapter 4
Motherboards and Buses
LPX
The LPX and mini-LPX form factor boards were a semiproprietary design that Western Digital originally developed in 1987 for some of its motherboards. The LP in LPX stands for Low Profile, which is
so named because these boards incorporate slots that are parallel to the main board, enabling the
expansion cards to install sideways. This allows for a slim or low-profile case design and overall a
smaller system than the Baby-AT.
Although Western Digital no longer produces PC motherboards, the form factor lived on, and many
other motherboard manufacturers duplicated the general design. Unfortunately, because the specifications were never laid out in exact detail—especially with regard to the bus riser card portion of the
design—these boards are termed semiproprietary and are not interchangeable between manufacturers.
Some vendors, such as IBM and HP, have built LPX systems that use a T-shaped riser card that allows
expansion cards to be mounted at the normal 90° angle to the motherboard but still above the motherboard. This lack of standardization means that if you have a system with an LPX board, in most cases
you can’t replace the motherboard with a different LPX board later. You essentially have a system you
can’t upgrade or repair by replacing the motherboard with something better. In other words, you have
what I call a “disposable PC,” something I would not normally recommend that anybody purchase.
Most people were not aware of the semiproprietary nature of the design of these boards, and they
were extremely popular in what I call “retail store” PCs from the late 1980s through the late 1990s.
This would include primarily Compaq and Packard Bell systems, as well as many others who used this
form factor in their lower-cost systems. These boards were most often used in low-profile or Slimline
case systems, but they were found in tower cases, too. These were often lower-cost systems such as
those sold at retail electronics superstores. LPX is considered obsolete today.
LPX boards are characterized by several distinctive features (see Figure 4.5). The most noticeable is
that the expansion slots are mounted on a bus riser card that plugs into the motherboard. In most
designs, expansion cards plug sideways into the riser card. This sideways placement allows for the
low-profile case design. Slots are located on one or both sides of the riser card depending on the system and case design. Vendors who use LPX-type motherboards in tower cases sometimes use a Tshaped riser card instead, which puts the expansion slots at the normal right angle to the
motherboard but on a raised shelf above the motherboard.
LPX
motherboard
Adapter cards installed in riser
Riser
card
slot
Power supply
Floppy
LPX
motherboard
Riser
card
Drives
Memory
SIMMs
Figure 4.5
Typical LPX system chassis and motherboard.
Video L2
RAM cache
Processor
socket
Motherboard Form Factors
Chapter 4
149
Another distinguishing feature of the LPX design is the standard placement of connectors on the back
of the board. An LPX board has a row of connectors for video (VGA 15-pin), parallel (25-pin), two serial ports (9-pin each), and mini-DIN PS/2-style mouse and keyboard connectors. All these connectors
are mounted across the rear of the motherboard and protrude through a slot in the case. Some LPX
motherboards might have additional connectors for other internal ports, such as network or small
computer systems interface (SCSI) adapters. Because LPX systems use a high degree of motherboard
port integration, many vendors of LPX motherboards, cases, and systems refer to LPX products as
having an “all-in-one” design.
The standard form factor used for LPX and mini-LPX motherboards in many typical low-cost systems
is shown in Figure 4.6.
13.0
11.375
5.875
0.375
0.219
0.0
0.0
9.0
0.35
3.906
7.500
8.8125
Figure 4.6
LPX motherboard dimensions.
Figure 4.7 shows two typical examples of the connectors on the back of LPX boards. Note that not all
LPX boards have the built-in audio, so those connectors might be missing. Other ports (such as universal serial bus, or USB) might be missing from what is shown in these diagrams, depending on
exactly which options are included on a specific board; however, the general layout will be the same.
The connectors along the rear of the board would interfere with locating bus slots directly on the
motherboard, which accounts for why riser cards are used for adding expansion boards.
150
Chapter 4
Figure 4.7
Motherboards and Buses
Line
PS/2
Serial Port 1 Serial Port 2
Out Keyboard
Mic In
PS/2
Mouse
Parallel Port
Video
Line
PS/2
Serial Port 1 USB 1 USB 2
Out Keyboard
Mic In
PS/2
Mouse
Parallel Port
Video
LPX motherboard back panel connectors.
NLX
NLX is a low-profile form factor designed to replace the nonstandard LPX design used in previous
low-profile systems. Introduced in November 1996 by Intel, NLX was a popular form factor in the late
1990s for Slimline corporate desktop systems from vendors such as Compaq, HP, and Toshiba. Since
2000, many Slimline systems have used variations on the FlexATX motherboard instead.
NLX is similar in initial appearance to LPX, but with numerous improvements designed to enable full
integration of the latest technologies. NLX is basically an improved version of the proprietary LPX
design, but, unlike LPX, NLX is fully standardized, which means you should be able to replace one
NLX board with another from a different manufacturer—something that was not possible with LPX.
The main characteristic of an NLX system is that the motherboard plugs into the riser, unlike LPX
where the riser plugs into the motherboard. Therefore, the motherboard can be removed from the system without disturbing the riser or any of the expansion cards plugged into it. In addition, the
motherboard in a typical NLX system literally has no internal cables or connectors attached to it! All
devices that normally plug into the motherboard—such as drive cables, the power supply, the front
panel light, switch connectors, and so on—plug into the riser instead (see Figure 4.8). By using the
riser card as a connector concentration point, you can remove the lid on an NLX system and literally
slide the motherboard out the left side of the system without unplugging a single cable or connector
on the inside. This allows for unbelievably quick motherboard changes; in fact, I have swapped
motherboards in less than 30 seconds on NLX systems!
Such a design was a boon for the corporate market, where ease and swiftness of servicing is a major
feature.
As with most of the form factors, you can identify NLX via the unique input/output (I/O) shield or
connector area at the back of the board (see Figure 4.9). You only need a quick look at the rear of any
given system to determine which type of board is contained within. Figure 4.9 shows the unique
stepped design of the NLX I/O connector area. This allows for a row of connectors all along the bottom and has room for double-stacked connectors on one side.
Motherboard Form Factors
Figure 4.8
151
NLX motherboard and riser combination.
Line Out
USB Port 1
Serial Port A
PS/2 Keyboard or Mouse
Serial Port B
PS/2 Keyboard or Mouse
Video
USB Port 0
Line In
Figure 4.9
Chapter 4
RJ-45 LAN
Parallel Port
Typical NLX motherboard rear connector layout.
Although NLX is a standard form factor—just as the ATX family is—most NLX products were sold as
part of complete systems aimed at the corporate market. Few aftermarket motherboards have been
developed in this form factor. The microATX and FlexATX form factors have superseded NLX in the
markets formerly dominated by LPX.
152
Chapter 4
Motherboards and Buses
WTX
WTX was a board and system form factor developed for the mid-range workstation market; however,
most vendors making workstations and servers have used the ATX form factor. WTX went beyond
ATX and defined the size and shape of the board and the interface between the board and chassis, as
well as required chassis features.
WTX was released in September 1998 (1.0) and updated in February 1999 (1.1). Since then, however,
WTX has been officially discontinued, and there will be no further updates.
BTX
Balanced Technology Extended (BTX) is a motherboard form factor specification that Intel released in
September 2003, with 1.0a and 1.0b updates released in February 2004 and July 2005, respectively.
BTX was designed to address the ever-increasing component power and cooling requirements, as well
as enabling improved circuit routing and more flexible chassis designs. However, the recent trend
toward more power efficient dual-core processor designs has slowed the need for the benefits inherent
in the BTX standard, which has in turn slowed the adoption of BTX, causing Intel to announce in late
2006 that it was abandoning future BTX development. BTX was popular in many mass-produced
retail-branded PCs sold between 2005 and 2007, such as those by Dell, Gateway, and others. Since
then the BTX form factor has largely been abandoned.
BTX is not backward-compatible with ATX or other designs. A full-size BTX board is 17% larger than
ATX, allowing room for more integrated components onboard. The I/O connectors, slots, and mounting holes are in different locations than with ATX, requiring new chassis designs. However, the power
supply interface connectors are the same as in the latest ATX12V specifications, and newer ATX, TFX,
SFX, CFX, and LFX power supplies can be used. The latter two power supply form factors were specifically created to support compact and low-profile BTX systems.
The primary advantages to BTX include optimized inline component layout and routing, optimized
airflow path, a support and retention module (SRM) for heavy heatsinks, scalable board dimensions,
low-profile options, and flexible power supply designs with connector types that are compatible with
ATX designs.
BTX includes three definitions of motherboard size, as shown in Table 4.1.
Table 4.1
BTX Motherboard Form Factors
Form Factor
Max. Width
Depth
Max. Area
Size Versus BTX
BTX
12.8 in. (325mm)
10.5 in.
(267mm)
134 sq. in.
(867 sq. cm)
—
microBTX
10.4 in. (264mm)
10.5 in.
(267mm)
109 sq. in.
(705 sq. cm)
19%
smaller
PicoBTX
8.0 in. (203mm)
10.5 in.
(267mm)
84 sq. in.
(542 sq. cm)
37%
smaller
Each board has the same basic screw hole and connector placement requirements. So, if you have a
case that fits a full-size BTX board, you can also mount a microBTX or picoBTX board in that same
case (see Figure 4.10). Obviously, if you have a smaller case designed for MicroBTX or picoBTX, you
won’t be able to put the larger microBTX or BTX boards there.
0.000
A
C
E
H
(35.04) Connector Pin 1
[1.380] Reference
(97.91) Connector Key
[3.855] Centerline
F
266.70
[10.500]
Figure 4.10
124.00
[4.882]
J
Sample PCI
Express Connectors
G
203.20 picoBTX
[8.000] Board
264.16 microBTX
[10.400] Board
325.12 BTX
[12.800] Board
+0.05
10X 0 3.96 -0.03
[0.156 +0.002
-0.001 ]
0 0.20 [0.008] A B C
Mounting Holes
K
293.37
[11.550]
D
232.41
[9.150]
B
Sample PCI
Connectors
191.77
[7.550]
+0.20
1.58 -0.13 C
[0.062 +0.008
-0.005 ]
153
Card Connector Slot Lines
Rear Panel I/O
(39.09)
[1.539]
(50.59)
[1.992]
Connector
Key
Centerline
254.00
[10.000]
Chapter 4
191.77
[7.550]
212.09
[8.350]
232.41
[9.150]
262.73
[9.950]
273.05
[10.750]
293.37
[11.550]
313.69
[12.350]
B
A 6.35 ± 0.13
[0.250 ± 0.005]
5.08 ± 0.13
[0.200 ± 0.005]
0.000
Motherboard Form Factors
BTX specification 1.0a motherboard dimensions.
BTX requires up to 10 mounting holes and supports up to seven slots, depending on the size, as
shown in Table 4.2.
Table 4.2
BTX Motherboard Mounting Holes
Board Size
Mounting Holes
Max. Slots
BTX
A, B, C, D, E, F, G, H, J, K
7
microBTX
A, B, C, D, E, F, G
4
picoBTX
A, B, C, D
1
BTX also clearly specifies volumetric zones around the motherboard to prevent interference from the
chassis or internal components such as drives, which allows for maximum interchangeability without
physical interference or fit problems.
With processors exceeding 100W in thermal output, as well as voltage regulators, motherboard
chipsets, and video cards adding to the thermal load in a system, BTX was designed to allow all the
high-heat-producing core components to be mounted inline from front to back, so that a single highefficiency thermal module (heatsink) can cool the system. This eliminates the need for an excessive
number of fans. The thermal module includes a heatsink for the processor, a high-efficiency fan, and
a duct to direct airflow through the system. Extra support for the thermal module is provided under
the board via an SRM, which provides structural support for heatsinks that are much heavier than
allowed in ATX designs (see Figure 4.11).
BTX uses the same power connectors as in the latest power supply form factor specifications, including a 24-pin main connector for the board and a 4-pin ATX12V connector for the CPU voltage regulator module. The particular power supply form factor used depends mostly on the chassis selected.
A typical tower system has components arranged as shown in Figure 4.12.
154
Chapter 4
Motherboards and Buses
Thermal Module
Chassis
Duct Interface
To Chassis
Inlet Vent
Figure 4.11
BTX thermal module containing a processor heatsink and fan.
Front
Rear
Optical Drive
Power Supply
Unit
Optical Drive
Floppy Drive
MCH
ICH
Processor
Thermal Module
Chassis Fan
Processor Fan
Air Intake
System Memory
Rear Panel I/O
Hard Disk Drive
Video Card
I/O Card Slots
Front I/O
Peripherals
Figure 4.12
BTX tower chassis layout.
From Figure 4.12, you can see that the main heat-producing core components are centrally located
inline from front to rear, allowing the most efficient thermal design. Air flows from front to rear
through the center, cooling the processor, motherboard chipset, memory, and video card.
To support the heavy processor heatsink and thermal module assembly, an SRM is mounted under the
board. The SRM is essentially a metal plate affixed to the chassis under the board, and the thermal
module is bolted directly to the SRM instead of to the motherboard. This helps carry the weight of
the module and prevents excessive loads from being applied to the processor and motherboard, especially during the shipping and handling of the system.
Motherboard Form Factors
Chapter 4
155
The BTX I/O connector area is similar to ATX, except that it is at the opposite side of the rear of the
board. The size of the area is slightly shorter but wider than ATX, allowing a large number of interfaces and connectors to be built into the motherboard.
Systems using BTX were produced primarily from 2005 through 2007 by companies such as Dell and
Gateway. After that, a lack of new BTX motherboards and cases forced most system manufacturers
and builders to abandon BTX and revert to the more popular ATX-based form factors. Other large
manufacturers such as HP never jumped on the BTX bandwagon, instead staying with ATX-based systems. Because of the lack of BTX component popularity and other problems, I recommend avoiding
BTX systems and components such as motherboards and chassis because they will be difficult to
upgrade or replace in the future. ATX remains by far the most popular and recommended form factor
for system builders and upgraders.
ATX and Other Modern Form Factors
The following sections cover the industry-standard form factors, including ATX, that are popular on
modern systems.
ATX
The ATX form factor was the first of a dramatic evolution in motherboard form factors. ATX is a combination of the best features of the Baby-AT and LPX motherboard designs, with many new enhancements and features thrown in. The ATX form factor is essentially a Baby-AT motherboard turned
sideways in the chassis, along with a modified power supply location and connector. The most important thing to know initially about the ATX form factor is that it is physically incompatible with either
the previous Baby-AT or the LPX design. In other words, a different case and power supply are
required to match the ATX motherboard. These case and power supply designs have become common
and are found in most new systems.
Intel initially released the official ATX specification in July 1995. It was written as an open specification for the industry. ATX boards didn’t hit the market in force until mid-1996, when they rapidly
began replacing Baby-AT boards in new systems. The ATX specification was updated to version 2.01 in
February 1997, 2.03 in May 2000, 2.1 in June 2002, and 2.2 in February 2004. Intel publishes these
detailed specifications so other manufacturers can use the interchangeable ATX design in their systems. The current specifications for ATX and other current motherboard types are available online
from the Desktop Form Factors site: www.formfactors.org. ATX is the most popular motherboard form
factor for new systems and will continue to be popular in the future. An ATX system will be upgradeable for many years to come, exactly like Baby-AT was in the past.
ATX improved on the Baby-AT and LPX motherboard designs in several major areas:
■ Built-in double high external I/O connector panel—The rear portion of the motherboard includes a stacked I/O connector area that is 6 1/4 inches wide by 1 3/4 inches tall. This
enables external I/O connectors to be located directly on the board and minimizes the need for
cables running from internal connectors to the back of the case as with Baby-AT designs.
■ Single main keyed internal power supply connector—The ATX specification includes a
keyed and shrouded main power connector that is easy to plug in and install. This connector
also features pins for supplying 3.3V to the motherboard, helping to minimize the use of builtin voltage regulators that are susceptible to failure.
◊◊
See “Motherboard Power Connectors,” p. 857 (Chapter 18, “Power Supplies”).
■ Relocated CPU and memory—The CPU and memory modules are relocated so they can’t
interfere with bus expansion cards and can easily be accessed for upgrade without removing any
of the installed bus adapters.
156
Chapter 4
Motherboards and Buses
■ Relocated internal I/O connectors—The internal I/O connectors for the floppy and hard
disk drives are relocated to be near the drive bays and out from under the expansion board slot
and drive bay areas.
■ Improved cooling—The CPU and main memory are designed and positioned to improve
overall system cooling compared to Baby-AT and older designs.
■ Lower cost to manufacture—The ATX specification eliminates the need for the rat’s nest of
cables to external I/O port connectors found on Baby-AT motherboards.
Figure 4.13 shows the typical ATX system layout and chassis features, as you would see them looking
in with the lid off on a desktop, or sideways in a tower with the side panel removed. Notice how virtually the entire motherboard is clear of the drive bays and how the devices such as CPU, memory,
and internal drive connectors are easy to access and do not interfere with the bus slots.
Power
supply
5.25 inch
and
3.5 inch
drive
bays
USB,
serial,
parallel,
mouse,
keyboard,
game,
and audio
connectors
Processor,
heatsink,
and fan
Figure 4.13
ATX
motherboard
Typical ATX system layout.
Note
Although most ATX systems mount the power supply near the processor (on top in most tower arrangements), this is not a
requirement of the standard. Some systems mount the power supply in other locations (such as on the bottom).
The ATX motherboard shape is basically a Baby-AT design rotated sideways 90°. The expansion slots
are now parallel to the shorter side dimension and do not interfere with the CPU, memory, or I/O
connector sockets (see Figure 4.14). In addition to a full-size ATX layout, Intel originally specified a
Mini-ATX design, which is a fully compatible subset of ATX that fits into the same case:
Motherboard Form Factors
157
Chapter 4
■ A full-size ATX board is 12 inches wide×9.6 inches deep (305mm×244mm).
■ The Mini-ATX board is 11.2 inches×8.2 inches (284mm×208mm).
.800 TYP
BETWEEN
CONNECTORS
3.100
.800 TYP
BETWEEN
CONNECTORS
.400
DATUM 0.0
6.250
REAR I/O WINDOW IN CHASSIS
5.196
.500
.812
PIN 1 ISA TO
PIN 1 PCI
SHARED SLOT
.689
PIN 1 PCI TO
PIN 1 AGP
.900
.600
1.225
2.232
ACCESSIBLE CONNECTOR I/O AREA
AGP CONNECTOR
6. 100
8.950
9.600
ISA CONNECTOR
(4 PLACES)
PCI CONNECTOR
(3 PLACES)
IDX 0.15G
MTG HOLES
4.900
.650
11.100
12.000
Figure 4.14 ATX specification 2.2 motherboard dimensions. Most recent ATX motherboards no longer
use ISA expansion slots.
Mini-ATX is not an official standard; instead, it is simply referenced as a slightly smaller version of
ATX. In fact, all references to Mini-ATX were removed from the ATX 2.1 and later specifications. Two
smaller official versions of ATX exist, called microATX and FlexATX. They are discussed in the following sections.
Although the case holes are similar to the Baby-AT case, cases for Baby-AT and ATX are generally incompatible. The ATX power supply design is identical in physical size to the standard Slimline power supply
used with Baby-AT systems; however, they also use different connectors and supply different voltages.
The best way to tell whether your system has an ATX-family motherboard design without removing
the lid is to look at the back of the system. Two distinguishing features identify ATX. One is that the
expansion boards plug directly into the motherboard. There is usually no riser card as with LPX and
NLX (except for certain Slimline systems, such as rack-mounted servers), so the slots are usually perpendicular to the plane of the motherboard. Also, ATX boards have a unique double-high connector
area for all the built-in connectors on the motherboard (see Figure 4.15 and Table 4.3). This is found
just to the side of the bus slot area and can be used to easily identify an ATX board.
158
Chapter 4
Table 4.3
Motherboards and Buses
Built-In Ports Usually Found on ATX Motherboards
Port Description
Connector Type
Connector Color
PS/2 mouse port
6-pin Mini-DIN
Green
PS/2 keyboard port
6-pin Mini-DIN
Purple
USB 2.0 ports
Dual Stack USB
Black
USB 3.0 ports
Dual Stack USB
Blue
Parallel port
25-pin D-Submini
Burgundy
Serial port
9-pin D-Submini
Teal
VGA analog video port
15-pin HD D-Submini
Dark blue
MIDI/Game port
15-pin D-Submini
Gold
Audio ports: L/R in, front L/R
out, rear L/R out, center/LFE
out, Microphone L/R in
1/8 in. (3.5mm)
Mini-Phone
Light blue, lime green, black,
black, pink
S-Video TV out (not shown)
4-pin Mini-DIN
Black
IEEE 1394/FireWire port
6-pin IEEE 1394
Gray
10/100/1000 Ethernet LAN
8-pin RJ-45
Black
Optical S/PDIF audio out
TOSLINK
Black
DVI digital video out
DDWG-DVI
White
Digital S/PDIF audio out
RCA Jack
Orange
SCSI (not shown)
50/68-pin HD
Black
SCSI Modem (not shown)
4-pin RJ-11
Black
Composite video out (not shown)
RCA Jack
Yellow
eSATA port
eSATA
Black
DIN = Deutsches Institut für Normung e.V.
USB = Universal serial bus
VGA = Video graphics array
HD = High density
MIDI = Musical Instrument Digital Interface
L/R = Left and right channel
LFE = Low frequency effects (subwoofer)
S-Video = Super Video
IEEE = Institute of Electrical and Electronics Engineers
LAN = Local area network
RJ = Registered jack
S/PDIF = Sony/Philips Digital Interface
TOSLINK = Toshiba optical link
DVI = Digital visual interface
DDWG = Digital Display Working Group
RCA = Radio Corporation of America
SCSI = Small computer systems interface
HDMI = High definition multimedia interface
A/V = audio/video
eSATA = external SATA
Motherboard Form Factors
USB ports
Parallel port
Chapter 4
159
Game port
PS/2 mouse
PS/2 keyboard
VGA port
Audio ports
Serial port
10/100/1000
Ethernet port
PS/2 mouse
PS/2 keyboard
VGA port
Digital audio port
USB ports
IEEE 1394a ports
10/100/1000 Ethernet port
PS/2 mouse
USB ports
PS/2 keyboard
Optical audio port
Audio ports
Figure 4.15 ATX motherboard and rear panel connections from systems with onboard sound and video
(all), networking and IEEE 1394/FireWire (middle and bottom), and a “legacy-free” system with integrated
DVI-I, HDMI, eSATA, and USB 3.0 ports (bottom).
160
Chapter 4
Motherboards and Buses
Note
Most ATX motherboards feature connectors with industry-standardized color codes (shown in the previous table). This
makes plugging in devices much easier and more foolproof: You merely match up the colors. For example, most USB keyboards have a cable with a purple plug, whereas most mice have a cable with a green plug. Even though the keyboard
and mouse connectors on the motherboard appear the same (both are 6-pin Mini-DIN types), their color-coding matches
the plugs on the respective devices. Therefore, to plug them in properly, you merely insert the purple plug into the purple
connector and the green plug into the green connector. This saves you from having to bend down to try to decipher small
labels on the connectors to ensure you get them right. Some systems have a single PS/2 port (sometimes marked in both
green and purple) that can be used for either device.
The specifications and related information covering the ATX and related form factors are available
from the Form Factors website at www.formfactors.org. The Form Factors site provides form factor
specifications and design guides, as well as design considerations for new technologies, information
on initiative supporters, vendor products, and a form factor discussion forum.
Note
Some motherboards, especially those used in server systems, come in nonstandard ATX variations collectively called
extended ATX. This is a term applied to boards that are compatible with ATX but that are deeper. Standard ATX is 12
inches×9.6 inches (305mm×244mm), whereas extended ATX boards are up to 12 inches×13 inches (305mm×330mm).
Because technically no official “extended ATX” standard exists, compatibility problems can exist with boards and chassis
claiming to support extended ATX. When purchasing an extended ATX board, be sure it will fit in the chassis you intend to
use. Dual Xeon processors fit in a standard ATX-size board, so choose a standard ATX-size board for maximum compatibility with the existing ATX chassis.
microATX
microATX is a motherboard form factor Intel introduced in December 1997 as an evolution of the
ATX form factor for smaller and lower-cost systems. The reduced size compared to standard ATX
allows for a smaller chassis, motherboard, and power supply, thereby reducing the cost of the entire
system. The microATX form factor is also backward-compatible with the ATX form factor and can be
used in full-size ATX cases. Of course, a microATX case doesn’t take a full-size ATX board. This form
factor has become popular in the low-cost PC market. Currently, mini-tower chassis systems dominate
the low-cost PC market, although their small sizes and cramped interiors severely limit future
upgradeability.
The main differences between microATX and standard or Mini-ATX are as follows:
■ Reduced width motherboard (9.6 inches [244mm] instead of 12 inches [305mm] or 11.2 inches
[284mm])
■ Fewer I/O bus expansion slots (four maximum, although most boards feature only three)
■ Smaller power supply optional (SFX/TFX form factors)
The microATX motherboard maximum size is only 9.6 inches×9.6 inches (244mm×244mm) as compared to the full-size ATX size of 12 inches×9.6 inches (305mm×244mm) or the Mini-ATX size of 11.2
inches×8.2 inches (284mm×208mm). Even smaller boards can be designed as long as they conform to
the location of the mounting holes, connector positions, and so on, as defined by the standard. Fewer
slots aren’t a problem for typical home or small-business PC users because more components such as
Motherboard Form Factors
Chapter 4
161
sound and video are usually integrated on the motherboard and therefore don’t require separate slots.
This higher integration reduces motherboard and system costs. External buses, such as USB,
10/100/1000 Ethernet, and optionally 1394 (FireWire), can provide additional expansion out of the
box. The specifications for microATX motherboard dimensions are shown in Figure 4.16.
2.096
(53.24)
.812
(20.62)
PIN 1 ISA TO
PIN 1 PCI
SHARED SLOT
1.200
(30.48)
.800 TYP.
(20.32)
BETWEEN CONNECTORS
.400
(10.16)
1.225
(31.12)
2.232
(56.7)
6.250
(158.75)
REAR I/O WINDOW IN CHASSIS
ACCESSIBLE CONNECTOR I/O AREA
DATUM B 0,0
.800
TYP.
(20.32) BETWEEN
CONNECTORS
.600
(15.24)
.900
(22.86)
.689
(17.51)
PIN 1 PCI TO
PIN 1 AGP
ISA CONNECTOR
(2 PLACES)
6.100
(154.84)
8.950
(227.33)
AGP CONNECTOR
9.600
(243.84)
PCI CONNECTOR
(2 PLACES)
9XO.156
(3.96)
MTG HOLES
.800
(20.32)
1.350
(34.20)
1.800
(45.72)
8.000
(203.2)
9.600
(243.84)
Figure 4.16
microATX specification 1.2 motherboard dimensions.
Smaller form factor (called SFX or TFX) power supplies have been defined for optional use with
microATX systems, although the standard ATX supply also works fine because the connectors are the
same. The smaller size SFX/TFX power supplies encourage flexibility in choosing mounting locations
within the chassis and allow for smaller systems that consume less power overall. Although the
smaller supplies can be used, they may lack sufficient power output for faster or more fully configured
systems. Because of the high power demands of most modern systems, most third-party microATX
chassis are designed to accept standard ATX power supplies, although microATX systems sold by vendors such as Compaq, HP, and eMachines typically use some type of SFX or TFX power supply to
reduce costs.
◊◊
See “Power Supply Form Factors,” p. 837 (Chapter 18).
The microATX form factor is similar to ATX for compatibility. The similarities include the following:
■ Standard ATX power connectors
■ Standard ATX I/O panel
■ Mounting holes and dimensions are a subset of ATX
These similarities ensure that a microATX motherboard can easily work in a standard ATX chassis with
a standard ATX power supply, as well as the smaller microATX chassis and SFX/TFX power supply.
162
Chapter 4
Motherboards and Buses
The overall system size for a microATX is small. A typical case is only 12–14 inches tall, about 7
inches wide, and 12 inches deep. This results in a kind of micro-tower or desktop size. A typical
microATX motherboard is shown in Figure 4.17.
Rear
panel
Motherboard power
connectors
connector
CPU
socket
Memory
slots
Hard drive and
floppy drive
connectors
AGP slot
PCI slots
Figure 4.17
A typical microATX motherboard’s dimensions are 9.6 inches×9.6 inches.
As with ATX, Intel released microATX to the public domain to facilitate adoption as a de facto standard. The specification and related information on microATX are available through the Desktop Form
Factors site (www.formfactors.org).
FlexATX
In March 1999, Intel released the FlexATX addendum to the microATX specification. This added a
new and even smaller variation of the ATX form factor to the motherboard scene. FlexATX’s smaller
design is intended to allow a variety of new PC designs, especially extremely inexpensive, smaller,
consumer-oriented, appliance-type systems. Some of these designs might not even have expansion
slots, allowing expansion only through USB or IEEE 1394/FireWire ports.
FlexATX defines a board that is up to 9 inches×7.5 inches (229mm×191mm), which is the smallest of
the ATX family boards. In all other ways, FlexATX is the same as ATX and microATX, making FlexATX
fully backward compatible with ATX or microATX by using a subset of the mounting holes and the
same I/O and power supply connector specifications (see Figure 4.18).
Chapter 4
Motherboard Form Factors
163
12.000
(304.80)
9.600
(243.84)
9.000
(228.60)
B
A
Key - Mounting Holes
FlexATX
ATX and/or microATX
Back of board
6.250" (158.75)
wide I/O shield
C
F
FlexATX
7.500
(190.50)
R
S
microATX
ATX
G
K
9.600
(243.84)
H
J
L
M
Front of board
Figure 4.18
Form Factor
Mounting Hole Locations
• FlexATX
B, C, F, H, J, S
Notes
• microATX
B, C, F, H, J, L, M, R, S
Holes R and S were added for microATX
form factor. Hole B was defined in
full-AT format.
• ATX
A, C, F, G, H, J, K, L, M
Hole F must be implemented in all
ATX 2.03–compliant chassis assemblies.
The hole was optional in the ATX 1.1
specification.
Size and mounting hole comparison between ATX, microATX, and FlexATX motherboards.
Most FlexATX systems likely use SFX/TFX (small or thin form factor) type power supplies (introduced
in the microATX specification), although if the chassis allows it, a standard ATX power supply can be
used.
The addition of FlexATX gave the family of ATX boards four definitions of size (three are the official
standards), as shown in Table 4.4.
Table 4.4
ATX Motherboard Form Factors
Form
Factor
Max.
Width
Max.
Depth
Max.
Area
Size
Comparison
ATX
12.0 in.
(305mm)
9.6 in.
(244mm)
115 sq. in.
(743 sq. cm)
—
Mini-ATX
11.2 in.
(284mm)
8.2 in.
(208mm)
92 sq. in.
(593 sq. cm)
20%
smaller
microATX
9.6 in.
(244mm)
9.6 in.
(244mm)
92 sq. in.
(595 sq. cm)
20%
smaller
FlexATX
9.0 in.
(229mm)
7.5 in.
(191mm)
68 sq. in.
(435 sq. cm)
41%
smaller
164
Chapter 4
Motherboards and Buses
Note that these dimensions are the maximums allowed. Making a board smaller in any given dimension is always possible as long as it conforms to the mounting hole and connector placement requirements detailed in the respective specifications. Each board has the same basic screw hole and
connector placement requirements, so if you have a case that fits a full-size ATX board, you could also
mount a microATX or FlexATX board in that same case. Obviously, if you have a smaller case
designed for microATX or FlexATX, you can’t put the larger Mini-ATX or full-size ATX boards in that
case.
DTX and Mini-DTX
The DTX (and Mini-DTX) specification was released in February 2007 by AMD as smaller variations of
the microATX and FlexATX specifications, respectively. DTX boards are up to 8 inches×9.6 inches,
whereas Mini-DTX boards are a shorter version at only 8 inches×6.7 inches. Mini-DTX boards incorporate only four mounting holes (C, F, H, and J), whereas DTX boards add two more for a total of six
(C, F, H, J, L, and M). Refer to Figure 4.19 for the respective hole locations. The size of the DTX and
Mini-DTX boards as they relate to FlexATX are shown in Table 4.5. The narrow 8-inch width for both
DTX and Mini-DTX boards allows for only two expansion slots. Although AMD is no longer supporting DTX and Mini-DTX, vendors are producing Intel Atom-based systems based on the Mini-DTX
standard. Motherboards produced in these form factors can be installed in microATX, FlexATX cases,
or Mini-ITX cases.
ITX and Mini-ITX
FlexATX defines a board that is up to 9 inches×7.5 inches. A FlexATX board can be smaller than that,
but how much smaller? By analyzing the FlexATX specification—and, in particular, studying the
required mounting screw locations—you can see that a FlexATX board could be made small enough
to use only four mounting holes (C, F, H, and J). Refer to Figure 4.16 for the respective hole locations.
According to the FlexATX standard, the distance between holes H and J is 6.2 inches, and the distance
between hole J and the right edge of the board is 0.25 inches. By leaving the same margin from hole
H to the left edge, you could make a board with a minimum width of 6.7 inches (0.25 inches + 6.2
inches + 0.25 inches) that would conform to the FlexATX specification. Similarly, the distance
between holes C and H is 6.1 inches, and the distance between hole C and the back edge of the board
is 0.4 inches. By leaving a minimum 0.2-inch margin from hole H to the front edge, you could make
a board with a minimum depth of 6.7 inches (0.4 inches + 6.1 inches + 0.2 inches) that would conform to the FlexATX specification. By combining the minimum width and depth, you can see that
the minimum board size that would conform to the FlexATX specification is 6.7 inches×6.7 inches
(170mm×170mm).
VIA Technologies Platform Solutions Division wanted to create a motherboard as small as possible, yet
not define a completely new and incompatible form factor. To accomplish this, in March 2001 VIA
created a board that was slightly narrower in width (8.5 inches instead of 9 inches) but still the same
depth as FlexATX, resulting in a board that was 6% smaller and yet still conformed to the FlexATX
specification. VIA called this ITX but then realized that the size savings were simply too small to justify developing it further, so it was discontinued before any products were released.
In April 2002, VIA created an even smaller board that featured the absolute minimum width and
depth dimensions allowed by FlexATX. The company called it Mini-ITX. In essence, all Mini-ITX
boards are simply FlexATX boards that are limited to the minimum allowable dimensions. All other
aspects, including the I/O aperture size and location, screw hole locations, and power supply connections, are pure FlexATX. A Mini-ITX board fits in any chassis that accepts a FlexATX board; however,
larger boards will not fit into a Mini-ITX chassis.
Motherboard Form Factors
Chapter 4
165
The Mini-ITX form factor was designed by VIA especially to support VIA’s low-power embedded Eden
ESP and C3 E-Series processors. However, third-party vendors have also adopted this form factor for
use with low-power netbook-class chips such as Intel’s Atom and AMD’s E- and C-series, as well as
with more powerful processors such as Intel’s Core i3 or Core i5, and AMD’s Phenom, Athlon 64 X2,
Athlon 64, Athlon II, Phenom II, or Sempron 100. Mini-ITX systems that use these processors can be
used as multimedia servers and small form factor PCs as well as for set-top boxes and computing
appliances.
The size of the DTX and ITX families of motherboards as they relate to FlexATX is shown in Table 4.5.
Table 4.5
Comparing FlexATX to DTX and ITX Motherboard Families Form Factors
Form Factor
Max. Width
Max. Depth
Max. Area
Size Comparison
to FlexATX
DTX
8.0 in. (203mm)
9.6 in. (244mm)
77 sq. in. (495 sq. cm)
14% larger
FlexATX
9.0 in. (229mm)
7.5 in. (191mm)
68 sq. in. (435 sq. cm)
—
ITX
8.5 in. (215mm)
7.5 in. (191mm)
64 sq. in. (411 sq. cm)
6% smaller
Mini-DTX
8.0 in. (203mm)
6.7 in. (170mm)
54 sq. in. (346 sq. cm)
21% smaller
Mini-ITX
6.7 in. (170mm)
6.7 in. (170mm)
45 sq. in. (290 sq. cm)
34% smaller
Nano-ITX
4.7 in. (120mm)
4.7 in. (120mm)
22 sq. in. (144 sq. cm)
67% smaller
Pico-ITX
3.9 in. (100mm)
2.8 in. (72mm)
11 sq. in. (72 sq. cm)
83% smaller
Whereas the still-born ITX format was virtually the same as FlexATX in size (which is probably why it
was discontinued before any were sold), the Mini, Nano, and Pico-ITX form factors are considerably
smaller than FlexATX, as is the mini-DTX.
To take advantage of the smaller Mini-ITX format, several chassis makers have produced small chassis
to fit these boards. Most are the shape of a small cube, with one floppy and one optical drive bay visible from the front. The layout of a typical Mini-ITX motherboard, the ASRock M67M-ITX, is shown in
Figure 4.19. Nano-ITX and Pico-ITX can fit into slimline (half-U) cases that can be used horizontally
or vertically.
Mini-ITX motherboards can offer a full range of input-output ports. And, while designs that use VIA
processors typically feature soldered-in place processors and lack PCIe expansion slots, designs that
use Intel or AMD processors support a wide range of processors and feature a PCIe slot. However,
Mini-ITX and smaller motherboards in the family are not suitable when you need a highly expandable system (most feature only one expansion slot) or when you plan to use processors with more
than 100W thermal design power (TDP).
The smaller Nano-ITX and Pico-ITX motherboards use soldered-in-place low-power netbook/
embedded-class processors from VIA, Intel or AMD.
Note
The official site for ITX information is http://www.via.com.tw/en/products/embedded/. The site www.mini-itx.com is
often mistaken for an official site, but it is actually a vendor that specializes in ITX systems and component sales.
166
Chapter 4
Motherboards and Buses
ATX 20-pin power connector
Floppy drive controller
ATA/IDE host adapter
System BIOS
DIMM memory sockets
PCI slot
VIA Eden or C3 processor
(heatsink not shown)
VT1612A
0205CD TAIWAN
2IA1012954 C M
VIA South Bridge chip
VIA North Bridge chip
with heatsink
PS/2 mouse and
keyboard ports
10/100 Ethernet port
Parallel port
VGA video port
S-video port
Serial port
USB ports
Speaker and microphone jacks
Digital S/PDIF audio port
Figure 4.19 Top and rear views of the ASRock H67M-ITX motherboard, a third-party Mini-ITX motherboard with support for interchangeable processors and PCIe video.
Proprietary Designs
Motherboards that are not one of the industry standard form factors, such as any of the ATX, DTX, or
ITX formats, are deemed proprietary or semiproprietary. Most people purchasing PCs should avoid proprietary designs because they do not allow for a future motherboard, power supply, or case upgrade,
which limits future use and serviceability of the system. Proprietary systems are disposable PCs
because you can neither upgrade them nor easily repair them. The problem is that the proprietary
parts often come only from the original system manufacturer, and they usually cost much more than
industry standard parts. Therefore, after your proprietary system goes out of warranty, it is essentially
no longer worth upgrading or repairing. If the motherboard or any component on it goes bad, you
Processor Sockets/Slots
Chapter 4
167
will be better off purchasing a completely new standard system than paying many times the normal
price for a new proprietary motherboard. In addition, a new industry standard motherboard would be
newer and faster than the one you would be replacing. In a proprietary system, the replacement board
would not only cost way too much, but it would be the same as the one that failed.
Processor Sockets/Slots
The CPU is installed in either a socket or a slot, depending on the type of chip.
Starting with the 486 processors, Intel designed the processor to be a user-installable and replaceable
part and developed standards for CPU sockets and slots that would allow different models of the same
basic processor to plug in. One key innovation was to use a zero insertion force (ZIF) socket design,
which meant that you could easily install or remove the processor with no tools. ZIF sockets use a
lever to engage or release the grip on the chip, and with the lever released, the chip can be easily
inserted or removed. The ZIF sockets were given a designation that was usually imprinted or
embossed on the socket indicating what type it was. Different socket types accepted different families
of processors. If you know the type of socket or slot on your motherboard, you essentially know
which types of processors are designed to plug in.
√√
See “Processor Socket and Slot Types,” p. 74 (Chapter 3, “Processor Types and Specifications”).
Table 4.6 shows the designations for the various industry-standard processor sockets/slots and lists the
chips designed to plug into them.
Table 4.6
CPU Socket Specifications
System Class
Socket
Pins
Layout
Voltage
Supported Processors
Intel 486
Socket 1
169
17×17 PGA
5V
Socket 2
238
19×19 PGA
5V
Socket 3
237
19×19 PGA
5V/3.3V
Intel 486 SX/SX2, DX/DX2, DX4
OverDrive
Intel 486 SX/SX2, DX/DX2, DX4, DX4
OverDrive, 486 Pentium OverDrive
Intel 486 SX/SX2, DX/DX2, DX4, DX4
OverDrive, 486 Pentium OverDrive,
AMD Am486, Am5x86
Intel 486 DX4, 486 Pentium OverDrive
Socket 61
235
19×19 PGA
3.3V
Intel 586
(Pentium)
Socket 4
Socket 5
Socket 7
273
320
321
21×21 PGA
37×37 SPGA
37×37 SPGA
5V
3.3V/3.5V
VRM
Intel Pentium 60/66, OverDrive
Intel Pentium 75-133, OverDrive
Intel Pentium 75-233+, MMX,
OverDrive, AMD K5/K6, Cyrix
6x86/M1/MII
Intel 686
(Pentium II/III)
Socket 8
387
Auto VRM
Slot 1 (SC242)
242
Dual-pattern
SPGA
242-pin slot
Auto VRM
Socket 370
370
37×37 SPGA
Auto VRM
Intel Pentium Pro,
Pentium II OverDrive
Intel Pentium II/III SECC, Celeron SEPP,
VIA/Cyrix III/C3
Intel Celeron/Pentium III PPGA/FCPGA, VIA/Cyrix III/C3
168
Chapter 4
Table 4.6
Motherboards and Buses
Continued
System Class
Socket
Pins
Layout
Voltage
Supported Processors
Intel Pentium 4/
Core
Socket 423
Socket 478
423
478
39×39 SPGA
26×26 mPGA
Auto VRM
Auto VRM
LGA775 (Socket T)
775
30×33 LGA
Auto VRM
LGA1155 (Socket H2) 1155
40×40 LGA
Auto VRM
LGA1156 (Socket H)
1156
40×40 LGA
Auto VRM
LGA1366 (Socket B)
LGA1356 (Socket B)
LGA2011 (Socket R)
1366
1356
2011
41×43 LGA
41×43 LGA
N/A
Auto VRM
Auto VRM
Auto VRM
Intel Pentium 4 FC-PGA
Intel Pentium 4/Celeron FC-PGA2,
Celeron D
Intel Pentium 4/Extreme Edition,
Pentium D, Celeron D, Pentium
Dual-Core, Core 2 Duo/Extreme/
Quad, Xeon
2nd gen. Intel Pentium, Core
i Series, Xeon
1st gen. Intel Pentium, Core i Series,
Xeon
1ST gen. Intel Core i Series, Xeon
2nd gen. Intel Core i Series, Xeon
2nd gen. Intel Core i Series, Xeon
AMD K7
Slot A
Socket A (462)
242
462
242-pin slot
37×37 SPGA
Auto VRM
Auto VRM
AMD Athlon SECC
AMD Athlon, Athlon XP/MP, Duron,
Sempron, Geode NX
AMD K8
Socket 754
Socket 939
754
939
29×29 mPGA
31×31 mPGA
Auto VRM
Auto VRM
Socket 940
Socket AM2
940
940
31×31 mPGA
31×31 mPGA
Auto VRM
Auto VRM
Socket AM2+
940
31×31 mPGA
Auto VRM
Socket AM3
Socket AM3+
Socket F (1207 FX)
941
942
1207
31×31 mPGA
31×31 mPGA
35×35 x2 LGA
Auto VRM
Auto VRM
Auto VRM
AMD Athlon 64, Sempron
AMD Athlon 64/64 FX/64 X2,
Sempron, Opteron
AMD Athlon 64 FX, Opteron
AMD Athlon 64/64 FX/64 X2,
Sempron, Opteron, Phenom
AMD Athlon 64/64 X2, Opteron,
Phenom X2/X3/X4/II X4
AMD Athlon II, Phenom II, Sempron
AMD “Bulldozer” core processors
AMD Athlon 64 FX, Opteron
Slot 2 (SC330)
Socket PAC418
Socket PAC611
Socket 603
Socket 604
LGA 771 (Socket J)
Socket 940
Socket F (1207 FX)
330
418
611
603
604
771
940
1207
330-pin slot
Auto
38×22 split SPGA Auto
25×28 mPGA
Auto
31×25 mPGA
Auto
31×25 mPGA
Auto
30×33 LGA
Auto
31×31 mPGA
Auto
35×35 x2 LGA Auto
Server and
Workstation
1. Socket 6 was never actually implemented in systems.
FC-PGA = Flip-chip pin grid array
FC-PGA2 = FC-PGA with an integrated heat spreader (IHS)
OverDrive = Retail upgrade processors
PAC = Pin array cartridge
PGA = Pin grid array
PPGA = Plastic pin grid array
SECC = Single edge contact cartridge
VRM
VRM
VRM
VRM
VRM
VRM
VRM
VRM
Intel Pentium II/III Xeon
Intel Itanium
Itanium 2
Intel Xeon
Intel Xeon
Intel Core 2 Extreme, Xeon
AMD Athlon 64FX
AMD Athlon 64 FX, Opteron
SEPP = Single edge processor package
SPGA = Staggered pin grid array
mPGA = Micro pin grid array
VRM = Voltage regulator module with variable voltage output determined by module type or manual
jumpers
Auto VRM = Voltage regulator module with automatic voltage selection determined by processor
voltage ID (VID) pins
Chipsets
Chapter 4
169
Originally, all processors were mounted in sockets (or soldered directly to the motherboard). However,
both Intel and AMD temporarily shifted to a slot-based approach for their processors in the late 1990s
because the processors began incorporating built-in L2 cache, purchased as separate chips from thirdparty Static RAM (SRAM) memory chip manufacturers. Therefore, the processor then consisted not of
one but of several chips, all mounted on a daughterboard that was then plugged into a slot in the
motherboard. This worked well, but there were additional expenses in the extra cache chips, the
daughterboard itself, the slot, optional casings or packaging, and the support mechanisms and physical stands and latches for the processor and heatsink. All in all, slot-based processors were expensive
to produce compared to the previous socketed versions. With the advent of the second-generation
Celeron, Intel began integrating the L2 cache directly into the processor die, meaning no extra chips
were required. The second-generation (code-named Coppermine) Pentium III also received on-die L2
cache, as did the second-generation Athlon (code-named Thunderbird) processor from AMD. With
on-die L2 cache, the processor was back to being a single chip again, which also meant that mounting
it on a separate board plugged into a slot was unnecessary. All modern processors now have integrated
L2 cache (and many high-end processors from Intel and AMD also have large integrated L3 cache)
and use the socket form. As a bonus, on-die cache runs at full processor speed, instead of the one-half
or one-third speed of the cache in slot-based processors.
Chipsets
We can’t talk about modern motherboards without discussing chipsets. The chipset is the motherboard; therefore, any two boards with the same chipsets offer essentially the same level of performance and features.
Depending on the model, the chipset may contain the processor bus interface (called front side bus,
or FSB), memory controllers, bus controllers, I/O controllers, and more. All the primary circuits of the
motherboard are contained within the chipset. If the processor in your PC is like the engine in your
car, the chipset represents the drivetrain and chassis. It is the framework in which the engine rests
and is its connection to the outside world. The chipset is the frame, suspension, steering, wheels and
tires, transmission, drive shaft, differential, and brakes. The chassis in your car is what gets the power
to the ground, allowing the vehicle to start, stop, and corner. In the PC, the chipset represents the
connection between the processor and everything else. The processor can’t talk to the adapter boards,
devices, memory (in some models), and so on without going through the chipset. If you think of the
processor as the brain, the chipset is the spine and central nervous system.
Because the chipset controls the interface or connections between the processor and just about everything else, the chipset ends up dictating which type of processor you have; how fast the buses run;
and in some cases what speed, type, and amount of memory you can use. In fact, the chipset might
be the single most important component in your system—possibly even more important than the
processor. I’ve seen systems with a slower processor but a better chipset outperform systems with a
faster processor, much like how a car with less power might win a race through better cornering and
braking. When deciding on a system, I often start by choosing the chipset, because the chipset decision dictates the processor, I/O, and expansion capabilities.
Chipset Evolution
When IBM created the first PC motherboards, it used several discrete (separate) chips to complete the
design. Besides the processor and optional math coprocessor, many other components were required
to complete the system. These other components included items such as the clock generator, bus controller, system timer, interrupt and DMA controllers, CMOS RAM and clock, and keyboard controller.
170
Chapter 4
Motherboards and Buses
Additionally, many other simple logic chips were used to complete the entire motherboard circuit,
plus, of course, things such as the actual processor, math coprocessor (floating-point unit), memory,
and other parts. Table 4.7 lists all the primary chip components used on the original PC/XT and AT
motherboards.
Table 4.7
Primary Chip Components on PC/XT and AT Motherboards
Chip Function
PC/XT Version
AT Version
Processor
8088
80286
Math coprocessor (floating-point unit)
8087
80287
Clock generator
8284
82284
Bus controller
8288
82288
System timer
8253
8254
Low-order interrupt controller
8259
8259
High-order interrupt controller
—
8259
Low-order DMA controller
8237
8237
High-order DMA controller
—
8237
CMOS RAM/real-time clock
—
MC146818
Keyboard controller
8255
8042
In addition to the processor/coprocessor, a six-chip set was used to implement the primary motherboard circuit in the original PC and XT systems. IBM later upgraded this to a nine-chip design in the
AT and later systems, mainly by adding more interrupt and DMA controller chips and the nonvolatile
Complementary Metal Oxide Semiconductor (CMOS) RAM/real-time clock chip. All these motherboard chip components came from Intel or an Intel-licensed manufacturer, except the CMOS/clock
chip, which came from Motorola. Building a clone or copy of one of these IBM systems required all
these chips plus many smaller discrete logic chips to glue the design together, totaling 100 or more
individual chips. This kept the price of a motherboard high and left little room on the board to integrate other functions.
In 1986, a company called Chips and Technologies introduced a revolutionary component called the
82C206—the main part of the first PC motherboard chipset. This was a single chip that integrated all
the functions of the main motherboard chips in an AT-compatible system. This chip included the
functions of the 82284 clock generator, 82288 bus controller, 8254 system timer, dual 8259 interrupt
controllers, dual 8237 DMA controllers, and even MC146818 CMOS/clock chip. Besides the processor,
virtually all the major chip components on a PC motherboard could now be replaced by a single chip.
Four other chips augmented the 82C206 acting as buffers and memory controllers, thus completing
virtually the entire motherboard circuit with five total chips. This first chipset was called the CS8220
chipset by Chips and Technologies. Needless to say, this was a revolutionary concept in PC motherboard manufacturing. Not only did it greatly reduce the cost of building a PC motherboard, but it
made designing a motherboard much easier. The reduced component count meant the boards had
more room for integrating other items formerly found on expansion cards. Later, the four chips augmenting the 82C206 were replaced by a new set of only three chips, and the entire set was called the
New Enhanced AT (NEAT) CS8221 chipset. This was later followed by the 82C836 Single Chip AT
(SCAT) chipset, which finally condensed all the chips in the set to a single chip.
Chipsets
Chapter 4
171
Other chip manufacturers rapidly copied the chipset idea. Companies such as Acer, Erso, Opti, Suntac,
Symphony, UMC, and VLSI each gained an important share of this market. Unfortunately for many
of them, the chipset market has been a volatile one, and many of them have long since gone out of
business. In 1993, VLSI had become the dominant force in the chipset market and had the majority
of the market share; by the next year, VLSI (which later was merged into Philips Semiconductors),
along with virtually everybody else in the chipset market, was fighting to stay alive. This is because a
new chipset manufacturer had come on the scene, and within a year or so of getting serious, it was
totally dominating the chipset market. That company was Intel, and after 1994, it had a virtual lock
on the chipset market. If you have a motherboard built since 1994 that uses or accepts an Intel
processor, chances are good that it has an Intel chipset on it as well.
Although ATI (prior to its merger with AMD), NVIDIA, VIA Technologies, and Silicon Integrated
Systems (SiS) provided a wide variety of alternatives to Intel chipsets during the first decade of the
twenty-first century, Intel is once again the sole maker of chipsets for its current processors.
What happened to Intel’s former rivals? AMD has focused its former ATI chipset business squarely on
making chipsets for its own processors, whereas VIA Technologies is primarily an embedded
CPU/motherboard builder and SiS now focuses on HDTV and streaming media. The last rival to Intel,
NVIDIA, was unable to reach agreement with Intel over support for the new Core i-series processors,
and stopped developing chipsets for Intel in late 2009.
If you use current models of AMD processors, you can choose from motherboards that use either
AMD or NVIDIA chipsets.
It is interesting to note that the original PC chipset maker, Chips and Technologies, survived by
changing course to design and manufacture video chips and found a niche in that market specifically
for laptop and notebook video chipsets. Chips and Technologies was subsequently purchased by Intel
in 1998 as part of Intel’s video strategy.
Intel Chipsets
You can’t talk about chipsets today without discussing Intel because it currently owns the majority of
the chipset market. It is interesting to note that we probably have Compaq to thank for forcing Intel
into the chipset business in the first place!
The thing that started it all was the introduction of the Enhanced Industry Standard Architecture
(EISA) bus designed by Compaq in 1989. At that time, Compaq had shared the bus with other manufacturers in an attempt to make it a market standard. However, Compaq refused to share its EISA bus
chipset—a set of custom chips necessary to implement this bus on a motherboard.
Enter Intel, who decided to fill the chipset void for the rest of the PC manufacturers wanting to build
EISA bus motherboards. As is well known today, the EISA bus failed to become a market success,
except for a short-term niche server business, but Intel now had a taste of the chipset business—and
this it apparently wouldn’t forget. With the introduction of the 286 and 386 processors, Intel became
impatient with how long it took the other chipset companies to create chipsets around its new
processor designs; this delayed the introduction of motherboards that supported the new processors.
For example, it took more than two years after the 286 processor was introduced for the first 286
motherboards to appear and just over a year for the first 386 motherboards to appear after the 386
had been introduced. Intel couldn’t sell its processors in volume until other manufacturers made
motherboards that would support them, so it thought that by developing motherboard chipsets for a
new processor in parallel with the new processor, it could jumpstart the motherboard business by providing ready-made chipsets for the motherboard manufacturers to use.
172
Chapter 4
Motherboards and Buses
Intel tested this by introducing the 420 series chipsets along with its 486 processor in April 1989. This
enabled the motherboard companies to get busy right away, and in only a few months the first 486
motherboards appeared. Of course, the other chipset manufacturers weren’t happy; now they had
Intel as a competitor, and Intel would always have chipsets for new processors on the market first!
Intel then realized that it made both processors and chipsets, which were 90% of the components on
a typical motherboard. What better way to ensure that motherboards were available for its Pentium
processor when it was introduced than by making its own motherboards as well and having these
boards ready on the new processor’s introduction date? When the first Pentium processor debuted in
1993, Intel also debuted the 430LX chipset as well as a fully finished motherboard. Now, besides the
chipset companies being upset, the motherboard companies weren’t too happy, either. Not only was
Intel the major supplier of parts needed to build finished boards (processors and chipsets), but it was
now building and selling the finished boards as well. By 1994, Intel dominated the processor and
chipset markets and had cornered the motherboard market as well.
Now as Intel develops new processors, it develops chipsets and motherboards simultaneously, which
means they can be announced and shipped in unison. This eliminates the delay between introducing
new processors and waiting for motherboards and systems capable of using them, which was common in the industry’s early days. For the consumer, this means no waiting for new systems. Since the
original Pentium processor in 1993, we have been able to purchase ready-made systems on the same
day a new processor is released.
Intel Chipset Model Numbers
Starting with the 486 in 1989, Intel began a pattern of numbering its chipsets as shown in Table 4.8.
Table 4.8
Intel Chipset Model Numbers
Chipset Series
Supported Processors and Other Features
420xx
P4 (486)
430xx
P5 (Pentium), EDO memory
440xx
P6 (Pentium Pro/PII/PIII), AGP, SDRAM memory
450xx
P6 workstation (Pentium Pro/PII/PIII Xeon), SDRAM memory
8xx
PII/PIII/P4, AGP, DDR memory
9xx
Pentium 4/D, Core 2, PCI Express, DDR2 memory
3x
Core 2, PCI Express, DDR2/DDR3 memory
4x
Core 2, PCI Express 2.x, DDR2/DDR3 memory
5x
Original Core i Series, PCI Express 2.x
6x
2nd gen. Core i Series, PCI Express 2.x
The chipset numbers listed here are abbreviations of the actual chipset numbers stamped on the individual chips. For example, one of the popular Pentium II/III chipsets was the Intel 440BX chipset,
which consisted of two components: the 82443BX North Bridge and the 82371EB South Bridge.
Likewise, the 865G chipset supports the Pentium 4 and consists of two main parts: the 82865G graphics memory controller hub (GMCH; replaces the North Bridge and includes integrated video) and an
82801EB or 82801EBR I/O controller hub (ICH5 or ICH5R; replaces the South Bridge). Finally, the Z68
chipset supports Socket LGA1155 versions of the second-generation Core i7 and i5 Series processors.
The Z68 uses the 82Z68 chip; like other 6-series chipsets, it is a single-chip chipset.
Chipsets
Chapter 4
173
Intel has used three distinct chipset architectures:
■ North/South Bridge (used by 400-series chipsets
■ Hub (used by 800-series, 900-series, 3x, 4x, and 5x chipsets)
■ Single-chip (used by 6x series chipsets).
Tip
On older systems, you might be able to identify the chipset by reading the logo (Intel or others) as well as the part number
and letter combinations on the larger chips on your motherboard. However, on most recent motherboards, the North
Bridge/GMCH/MCH/IOH chip on recent motherboards is covered up with a passive or active heatsink, and many
motherboards use a heatsink on the South Bridge or ICH chip. To determine the chipset used in these systems, I recommend software such as the Intel Chipset Identification Utility (http://developer.intel.com/support/chipsets/inf/sb/
CS-009266.htm) or CPU-Z (http://cpuid.com).
Intel Integrated Graphics Architecture
Intel began producing motherboard chipsets with integrated video starting with the 810 chipset in
April 1999. Intel took this a step further in January 2010 when it introduced the first processors with
integrated video, the Clarkdale Core i-Series processors. By building the graphics directly into the
motherboard chipset or processor, no other graphics chip or video memory was required, meaning
that video could be essentially included in a PC for “free.” Many of the processors and chipsets
including integrated graphics also support slots for graphics cards, meaning that the integrated graphics could easily be upgraded by adding one or more discrete graphics cards.
See Table 12.2 in Chapter 12, “Video Hardware,” for the types and features for the integrated graphics
available in Intel motherboard chipsets and processors over the years.
AMD Integrated Graphics Architecture
Before its takeover by AMD, ATI offered a number of chipsets with integrated graphics, and AMD has
continued to do so. AMD’s Fusion series of accelerated processing units (APUs), which combine the
CPU with video, was first released in early 2011 for use in notebook and netbook products, and by
mid-2011 for desktop computers. Although AMD’s Fusion family has come to market later than Intel’s
CPU-integrated products, AMD Fusion is built on its former ATI division’s long experience with all
levels of graphic processing.
Note
Traditionally, integrated video has never been fast enough for serious gamers or other users requiring high-speed displays.
Instead, integrated video can offer reasonable graphics performance for virtually no cost. However, the new generation of
CPUs incorporating graphics may change the equation.
I often recommend using processors or motherboards that feature integrated graphics as well as a slot for adding a video
card later; that way you can start off by saving money using the integrated graphics and later upgrade to a higher performance video solution by merely adding a card.
◊◊
See “Integrated Video/Motherboard Chipsets,” p. 605 and “CPUs with Integrated Video,” p. 609 (Chapter 12).
174
Chapter 4
Motherboards and Buses
Traditional North/South Bridge Architecture
Most of Intel’s earlier chipsets as well as earlier non-Intel chipsets, use a multitiered architecture incorporating what are referred to as North and South Bridge components, as well as a Super I/O chip:
■ The North Bridge—So named because it is the connection between the high-speed processor
bus and the slower AGP and Peripheral Component Interconnect (PCI) buses. The North Bridge
is what the chipset is named after, meaning that, for example, what we call the 440BX chipset is
derived from the fact that the actual North Bridge chip part number for that set is 82443BX.
■ The South Bridge—So named because it is the bridge between the PCI bus (66/33MHz) and
the even slower ISA bus (8MHz).
■ The Super I/O chip—It’s a separate chip attached to the ISA bus that is not really considered
part of the chipset and often comes from a third party, such as National Semiconductor or
Standard MicroSystems Corp. (SMSC). The Super I/O chip included commonly used peripheral
items combined into a single chip. Note that more recent South Bridge chips include Super I/O
functions (such chips are known as Super-South Bridge chips), so that the most recent motherboards based on a North/South Bridge architecture no longer include a separate Super I/O chip.
◊◊
See “Super I/O Chips,” p. 214 (this chapter).
Figure 4.20 shows a typical AMD Socket A motherboard using North/South Bridge architecture with
the locations of all chips and components.
The North Bridge is sometimes referred to as the PAC (PCI/AGP Controller). It is essentially the main
component of the motherboard and is the only motherboard circuit besides the processor that normally runs at full motherboard (processor bus) speed. Most modern chipsets use a single-chip North
Bridge; however, some of the older ones actually consisted of up to three individual chips to make up
the complete North Bridge circuit.
The South Bridge is the lower-speed component in the chipset and has always been a single chip. The
South Bridge is a somewhat interchangeable component in that different chipsets (North Bridge
chips) often are designed to use the same South Bridge component. This modular design of the
chipset allows for lower cost and greater flexibility for motherboard manufacturers. Similarly, many
vendors produce several versions of pin-compatible South Bridge chips with different features to
enable more flexible and lower-cost manufacturing and design.
The South Bridge connects to the 33MHz PCI bus and contains the interface or bridge to the 8MHz
ISA bus (if present). It also typically contains dual ATA/IDE hard disk controller interfaces, one or
more USB interfaces, and in later designs even the CMOS RAM and real-time clock functions. In older
designs, the South Bridge contained all the components that make up the ISA bus, including the
interrupt and DMA controllers.
The third motherboard component, the Super I/O chip, is connected to the 8MHz ISA bus or the low
pin count (LPC) bus and contains all the standard peripherals that are built into a motherboard. For
example, most Super I/O chips contain the serial ports, parallel port, floppy controller, and keyboard/mouse interface. Optionally, they might contain the CMOS RAM/clock, IDE controllers, and
game port interface as well. Systems that integrate IEEE 1394 and SCSI ports use separate chips for
these port types.
Most recent motherboards that use North/South Bridge chipset designs incorporate a Super-South
Bridge, which incorporates the South Bridge and Super I/O functions into a single chip.
Chipsets
AC '97 Audio Codec chip
(for built-in audio)
AGP Pro
slot
MIDI/Joystick
port
Parallel port
Chapter 4
175
USB ports
Modem In
connector
PS/2 mouse
and keyboard
ports
Video/Audio
In connector
Audio/Modem
Riser (AMR)
connector
Socket A
(Socket 462)
for AMD Athlon/Duron
processors
Chipset:
North Bridge
PCI slots (5)
ATX power
supply (20-pin)
connector
USB header
cable connector
(for front-mounted
USB ports)
DIMM slots
Flash BIOS and
socket for optional
second flash BIOS
chip
Figure 4.20
Battery
IDE connectors
Floppy connector
Chipset: Super-South Bridge
(South Bridge plus Super I/O)
A typical Socket A (AMD Athlon/Duron) motherboard showing component locations.
Hub Architecture
Beginning in 1999, chipsets from Intel began using hub architectures in which the former North
Bridge chip is now called a Memory Controller Hub (MCH) or an I/O Hub (IOH) and the former
South Bridge is called an I/O Controller Hub (ICH). Systems that include integrated graphics use a
Graphics Memory Controller Hub (GMCH) in place of the standard MCH. Rather than being connected through the PCI bus as in a standard North/South Bridge design, they are connected via a dedicated hub interface that is at least twice as fast as PCI. The hub design offers several advantages over
the conventional North/South Bridge design:
■ It’s faster—The Accelerated Hub Architecture (AHA) interface that the 8xx series uses has twice
the throughput of PCI. The 9xx and newer series chipsets use an even faster version called DMI
(Direct Media Interface), which is 7.5 to 14 times faster than PCI.
176
Chapter 4
Motherboards and Buses
■ Reduced PCI loading—The hub interface is independent of PCI and doesn’t share or steal
PCI bus bandwidth for chipset or Super I/O traffic. This improves performance of all other PCI
bus–connected devices because the PCI bus is not involved in these transactions.
■ Reduced board wiring—The AHA interface is 8 bits wide and requires 15 signals to be routed
on the motherboard, whereas DMI is 4 bits wide and requires 8 differential pairs of signals. By
comparison, PCI requires that no fewer than 64 signals are routed on the board, causing
increased electromagnetic interference (EMI) generation, greater susceptibility to signal degradation and noise, and increased board manufacturing costs.
This hub interface design allows for a much greater throughput for PCI devices because there is no
South Bridge chip (also carrying traffic from the Super I/O chip) hogging the PCI bus. Due to bypassing PCI, the hub interface also enables greater throughput for devices directly connected to the I/O
controller hub (formerly the South Bridge), such as the higher-speed ATA-100/133, Serial ATA 3Gbps,
and USB interfaces.
There are two main variations on the hub interface:
■ AHA (Accelerated Hub Architecture)—Used by the 8xx series of chipsets. AHA is a 4X
(quad-clocked) 66MHz 8-bit (4 × 66MHz × 1 byte = 266MBps) interface, which has twice the
throughput of PCI (33MHz × 32 bits = 133MBps).
■ DMI (Direct Media Interface)—Used by the 9xx and later series chipsets. DMI is basically a
dedicated four-lane (4-bit-wide) PCI Express connection allowing for 1GBps (250GHz × 4 bits) in
each direction simultaneously, which is 7.5 to 14 times faster than PCI.
These hub interface designs are also economical, being only 4 or 8 bits wide. Although this seems too
narrow to be useful, there is a reason for the design. The lower pin count for the AHA and DMI hub
connections means that less circuit routing exists on the board, less signal noise and jitter occur, and
the chips have many fewer pins, making them smaller and more economical to produce. So, by virtue
of a narrow—but fast—design, the hub interface achieves high performance with less cost and more
signal integrity than with the previous North/South Bridge design.
The ICH also includes a new LPC bus, consisting basically of a stripped 4-bit-wide version of PCI
designed primarily to support the motherboard ROM BIOS and Super I/O chips. Because the same
four signals for data, address, and command functions are used, only 9 other signals are necessary to
implement the bus, for a total of 13 signals. This dramatically reduces the number of traces connecting the ROM BIOS chip and Super I/O chips in a system as compared to the 98 ISA bus signals necessary for older North/South Bridge chipsets that used ISA as the interface to those devices. The LPC bus
has a maximum bandwidth of 16.67MBps, which is much faster than ISA and more than enough to
support devices such as ROM BIOS and Super I/O chips.
Figure 4.21 shows a typical Intel chipset–based motherboard that uses hub architecture.
Chipsets
1. PCI expansion slots (4)
2. PCI Express x1 slots (2)
3. PCI Express x16 slot
4. Alternate power connector
5. ATX12V power supply connector
6. Socket LGA775
7. MCH (Memory Controller
Hub) aka North Bridge
Chapter 4
177
8. ICH (I/O Controller Hub) aka South Bridge
9. SATA/RAID host adapter connectors
10. ATA/IDE host adapter connector
11. Floppy controller connector
12. 24-pin ATX power supply connector
13. Super I/O chip
14. DDR2 DIMM sockets
Figure 4.21 Typical PCIe-based motherboard showing chipset and other component locations.
Illustration courtesy of Intel Corporation.
Third-Party North-South Bridge Connections
Intel is not alone in replacing the slow PCI bus connection between North and South Bridge–type
chips with faster architectures that bypass the PCI bus. Currently, chipset vendors AMD and NVIDIA
use the HyperTransport bus for chipset interconnects.
◊◊
See “HyperTransport,” p. 178 (this chapter).
178
Chapter 4
Motherboards and Buses
Other companies that have introduced high-speed chipset interconnects include the following:
■ VIA—VIA created the V-Link architecture to connect its North and South Bridge chips at speeds
matching or exceeding Intel hub architecture. V-Link uses a dedicated 8-bit data bus and is currently implemented in three versions: 4x V-Link, 8x V-Link, and Ultra V-Link. 4x V-Link transfers data at 266MBps (4×66MHz), which is twice the speed of PCI and matches the speed of
Intel’s AHA and HI 1.5 hub architectures. 8x V-Link transfers data at 533MBps (4×133MHz),
which is twice the speed of Intel’s AHA interface. Ultra V-Link transfers data at 1GBps.
■ SiS—SiS’s MuTIOL architecture (also called HyperStreaming) provides performance comparable to
VIA’s 4x V-Link; the second-generation MuTIOL 1G used in more recent SiS’s chipsets provides
performance comparable to VIA’s Ultra V-Link and Intel’s DMI architectures. Chipsets that support MuTIOL use separate address, DMA, input data, and output data buses for each I/O bus
master. MuTIOL buffers and manages multiple upstream and downstream data transfers over a
bidirectional 16-bit data bus.
■ ATI—ATI (now owned by AMD) used a high-speed interconnect called A-Link in its 9100-series
IGP integrated chipsets. A-Link runs at 266MBps, matching Intel’s AHA interface as well as firstgeneration V-Link and MuTIOL designs.
HyperTransport
HyperTransport, introduced in 2001 by the HyperTransport Technology Consortium (www.hypertransport.org), has become the leading processor/chipset interconnect technology for non-Intel chipsets.
HyperTransport transmits packets using a DDR connection (sending on the rising and falling edges of
the clock signal) between the CPU, memory, and the chipset. 64-bit AMD desktop and most chipset
implementations use a single 16-bit link, whereas 64-bit AMD server processors such as the Opteron
support up to three 16-bit links. HyperTransport is used both with dual-chip chipsets and with singlechip chipsets developed by AMD and NVIDIA.
Table 4.9 lists HyperTransport versions and speeds.
Table 4.9 – HyperTransport Versions
Version Number
Maximum Bandwidth
(32-bit Links)
When
Introduced
Example Product
1.x
12.8Gbps
2001
AMD Socket 754 processors
2.0
22.4Gbps
2004
AMD Socket 939 processors
3.0
41.6Gbps
2006
AMD Socket AM2+, AM3 processors
3.1
51.2Gbps
2008
AMD Socket AM3+ processors
AMD processors and chipsets supporting HyperTransport use 16-bit links, so actual throughput is lower than shown.
In the following sections, let’s examine the popular chipsets used from the 486 to the present.
Intel’s Early 386/486 Chipsets
Intel’s first real PC motherboard chipset was the 82350 chipset for the 386DX and 486 processors.
This chipset was not successful, mainly because the EISA bus was not popular and many other manufacturers were making standard 386 and 486 motherboard chipsets at the time. The market changed
quickly, and Intel dropped the EISA bus support and introduced follow-up 486 chipsets that were
much more successful.
Table 4.10 shows the Intel 486 chipsets.
Fifth-Generation (P5 Pentium Class) Chipsets
Table 4.10
179
Chapter 4
Intel 486 Motherboard Chipsets
Chipset
420TX
420EX
420ZX
Code name
Saturn
Aries
Saturn II
Date introduced
Nov. 1992
March 1994
March 1994
Processor
5V 486
5V/3.3V 486
5V/3.3V 486
Bus speed
Up to 33MHz
Up to 50MHz
Up to 33MHz
SMP (dual CPUs)
No
No
No
Memory types
FPM
FPM
FPM
Parity/ECC
Parity
Parity
Parity
Max. memory
128MB
128MB
160MB
L2 cache type
Async
Async
Async
PCI support
2.0
2.0
2.1
AGP support
No
No
No
AGP = Accelerated graphics port
FPM = Fast page mode
PCI = Peripheral component interconnect
SMP = Symmetric multiprocessing (dual processors)
Note: PCI 2.1 supports concurrent PCI operations.
The 420 series chipsets were the first to introduce the North/South Bridge design.
Fifth-Generation (P5 Pentium Class) Chipsets
With the advent of the Pentium processor in March 1993, Intel introduced its first Pentium chipset:
the 430LX chipset (code-named Mercury). This was the first Pentium chipset on the market and set
the stage as Intel captured this lead and ran with it. Other manufacturers took months to a year or
more to get their Pentium chipsets out the door. Since the debut of its Pentium chipsets, Intel has
dominated the chipset market for Intel processors. Table 4.11 shows the Intel Pentium motherboard
chipsets. Note that none of these chipsets supports AGP; Intel first added support for AGP in its
chipsets for the Pentium II/Celeron processors.
Table 4.11
Intel Pentium Motherboard Chipsets (North Bridge)
Chipset
430LX
430NX
430FX
430MX
430HX
430VX
430TX
Code Name
Mercury
Neptune
Triton
Mobile Triton
Triton II
Triton III
n/a
Date Introduced
March
1993
March
1994
Jan.
1995
Oct.
1995
Feb.
1996
Feb.
1996
Feb.
1997
CPU Bus Speed
66MHz
66MHz
66MHz
66MHz
66MHz
66MHz
66MHz
CPUs Supported
P60/66
P75+
P75+
P75+
P75+
P75+
P75+
SMP (Dual CPUs)
No
Yes
No
No
Yes
No
No
Memory Types
FPM
FPM
FPM/EDO
FPM/EDO
FPM/EDO
FPM/EDO/
SDRAM
FPM/EDO/
SDRAM
Parity/ECC
Parity
Parity
Neither
Neither
Both
Neither
Neither
Max. Memory
192MB
512MB
128MB
128MB
512MB
128MB
256MB
Max. Cacheable
192MB
512MB
64MB
64MB
512MB
64MB
64MB
180
Chapter 4
Table 4.11
Motherboards and Buses
Continued
Chipset
430LX
430NX
430FX
430MX
430HX
430VX
430TX
L2 Cache Type
Async
Async
Async/
Pburst
Async/
Pburst
Async/
Pburst
Async/
Pburst
Async/
Pburst
PCI Support
2.0
2.0
2.0
2.0
2.1
2.1
2.1
AGP Support
No
No
No
No
No
No
No
South Bridge
SIO
SIO
PIIX
MPIIX
PIIX3
PIIX3
PIIX4
EDO = Extended data out
FPM = Fast page mode
PIIX = PCI ISA IDE Xcelerator
SDRAM = Synchronous dynamic RAM
SIO = System I/O
SMP = Symmetric multiprocessing (dual processors)
Note
PCI 2.1 and later supports concurrent PCI operations, enabling multiple PCI cards to perform transactions at the same time
for greater speed.
Table 4.12 shows the Intel South Bridge chips used with Intel chipsets for Pentium processors. South
Bridge chips are the second part of the modern Intel motherboard chipsets.
Table 4.12
Intel South Bridge Chips
Chip Name
SIO
PIIX
PIIX3
PIIX4
PIIX4E
ICH0
ICH
Part Number
82378IB/ZB
82371FB
82371SB
82371AB
82371EB
82801AB
82801AA
IDE Support
None
BMIDE
BMIDE
UDMA-33
UDMA-33
UDMA-33
UDMA-66
USB Support
None
None
Yes
Yes
Yes
Yes
Yes
CMOS/Clock
No
No
No
Yes
Yes
Yes
Yes
Power
Management
SMM
SMM
SMM
SMM
SMM/ACPI
SMM/ACPI
SMM/ACPI
ACPI = Advanced configuration and power interface
BMIDE = Bus master IDE (ATA)
ICH = I/O Controller Hub
IDE = Integrated Drive Electronics (AT attachment)
PIIX = PCI ISA IDE Xcelerator
SIO = System I/O
SMM = System management mode
UDMA = Ultra-DMA IDE (ATA)
USB = Universal serial bus (version 1.1)
Sixth-Generation (P6 Pentium Pro/II/III Class) Chipsets
Chapter 4
181
Sixth-Generation (P6 Pentium Pro/II/III Class)
Chipsets
Because the Pentium Pro, Celeron, and Pentium II/III were essentially the same processor with different cache designs and minor internal revisions, the same chipsets could be used for Socket 8 (Pentium
Pro), Socket 370 (Celeron/Pentium III), and Slot 1 (Celeron/Pentium II/III) designs.
Table 4.13 shows the chipsets used on Pentium Pro motherboards.
Note
PCI 2.1 supports concurrent PCI operations.
Table 4.13
Pentium Pro Motherboard Chipsets (North Bridge)
Chipset
450KX
450GX
440FX
Code Name
Orion
Orion Server
Natoma
Workstation Date Introduced
Nov. 1995
Nov. 1995
May 1996
Bus Speed
66MHz
66MHz
66MHz
SMP (Dual CPUs)
Yes
Yes (up to 4)
Yes
Memory Types
FPM
FPM
FPM/EDO/BEDO
Parity/ECC
Both
Both
Both
Maximum Memory
1GB
4GB
1GB
L2 Cache Type
In CPU
In CPU
In CPU
Maximum Cacheable
1GB
4GB
1GB
PCI Support
2.0
2.0
2.1
AGP Support
No
No
No
AGP Speed
n/a
n/a
n/a
South Bridge
Various
Various
PIIX3
AGP = Accelerated graphics port
BEDO = Burst EDO
EDO = Extended data out
FPM = Fast page mode
Pburst = Pipeline burst (synchronous)
PCI = Peripheral Component Interconnect
PIIX = PCI ISA IDE Xcelerator
SDRAM = Synchronous dynamic RAM
SIO = System I/O
SMP = Symmetric multiprocessing (dual processors)
For the Celeron and Pentium II/III motherboards, Intel offered the chipsets in Table 4.14. 4xx series
chipsets incorporate a North/South Bridge architecture, whereas 8xx series chipsets support the newer
and faster hub architecture. P6/P7 (Pentium III/Celeron, Pentium 4, and Xeon) processor chipsets
using hub architecture are shown in Table 4.15.
182
Chapter 4
Table 4.14
Motherboards and Buses
P6 Processor Chipsets Using North/South Bridge Architecture
Chipset
440FX
440LX
440EX
Code Name
Natoma
None
None
Date Introduced
May 1996
Aug. 1997
April 1998
Part Numbers
82441FX, 82442FX
82443LX
82443EX
Bus Speed
66MHz
66MHz
66MHz
Supported Processors
Pentium II
Pentium II
Celeron
SMP (Dual CPUs)
Yes
Yes
No
Memory Types
FPM/EDO/BEDO
FPM/EDO/SDRAM
EDO/SDRAM
Parity/ECC
Both
Both
Neither
Maximum Memory
1GB
1GB EDO/512MB SDRAM
256MB
Memory Banks
4
4
2
PCI Support
2.1
2.1
2.1
AGP Support
No
AGP 2x
AGP 2x
South Bridge
82371SB (PIIX3)
82371AB (PIIX4)
82371EB (PIIX4E)
Table 4.15
P6 (Pentium III/Celeron) Processor Chipsets Using Hub Architecture
Chipset
810
810E
8153
815E3
815EP
Code Name
Whitney
Whitney
Solano
Solano
Solano
Date Introduced
April 1999
Sept. 1999
June 2000
June 2000
Nov. 2000
Part Number
82810
82810E
82815
82815
82815EP
Bus Speed
66/100MHz
66/100/
133MHz
66/100/
133MHz
66/100/
133MHz
66/100/
133MHz
Supported
Processors
Celeron,
Pentium II/III
Celeron,
Pentium II/III
Celeron,
Pentium II/III
Celeron,
Pentium II/III
Celeron,
Pentium II/III
SMP(dual CPUs)
No
No
No
No
No
Memory Types
EDO SDRAM
SDRAM
SDRAM
SDRAM
SDRAM
Memory Speeds
PC100
PC100
PC133
PC133
PC133
Parity/ECC
Neither
Neither
Neither
Neither
Neither
Maximum Memory 512MB
512MB
512MB
512MB
512MB
AGP Slot
No
No
AGP 4x
AGP 4x
AGP 4x
Integrated Video
AGP 2x
AGP 2x
AGP 2x
AGP 2x
No
South Bridge (ICH)
82801AA/
AB (ICH/ICH0)
82801AA
(ICH)
82801AA
(ICH)
82801BA
(ICH2)
82801BA
(ICH2)
AGP= Accelerated graphics port
BEDO = Burst EDO
EDO = Extended data out
FPM = Fast page mode
ICH = I/O controller hub
Pburst = Pipeline burst (synchronous)
PCI = Peripheral Component Interconnect
PIIX = PCI ISA IDE Xcelerator
Chapter 4
Sixth-Generation (P6 Pentium Pro/II/III Class) Chipsets
183
440BX
440GX
450NX
440ZX
None
None
None
None
April 1998
June 1998
June 1998
Nov. 1998
82443BX
82443GX
82451NX, 82452NX
82453NX, 82454NX
66/100MHz
66/100MHz
100MHz
100MHz
Pentium II/III, Celeron
Pentium II/III, Xeonpro
Pentium II/III, Xeon
Celeron, Pentium II/III
Yes
Yes
Yes, up to four
No
SDRAM
SDRAM
FPM/EDO
SDRAM
Both
Both
Both
Neither
1GB
2GB
8GB
256MB
4
4
4
2
2.1
2.1
2.1
2.1
AGP 2x
AGP 2x
No
AGP 2x
82371EB (PIIX4E)
82371EB (PIIX4E)
82371EB (PIIX4E)
82371EB (PIIX4E)
820
820E
840
815P
815EG
815G
Camino
Camino
Carmel
Solano
Solano
Solano
Nov. 1999
June 2000
Oct. 1999
March 2001
Sept. 2001
Sept. 2001
82820
82820
82840
82815EP
82815G
82815G
66/100/
133MHz
66/100/
133MHz
66/100/
133MHz
66/100/
133MHz
66/100/
133MHz
66/100/
133MHz
Pentium II/III,
Celeron
Pentium II/III,
Celeron
Pentium III,
Xeon
Celeron,
Pentium III
Celeron,
Pentium III
Celeron,
Pentium III
Yes
Yes
Yes
No
No
No
RDRAM
RDRAM
RDRAM
SDRAM
SDRAM
SDRAM
PC800
PC800
PC800
dual-channel
PC100,
PC133
PC66,
PC100,
PC133
Both
Both
Both
Neither
Neither
Neither
1GB
1GB
4GB
512MB
512MB
512MB
AGP 4x
AGP 4x
AGP 4x
AGP 4x
No
No
No
No
No
No
AGP 2x
AGP 2x
82801AA
(ICH)
82801BA
(ICH2)
82801AA
(ICH)
82801AA/
AB (ICH/ICH0)
82801BA
(ICH2)
82801AA/
AB (ICH/ICH0)
SDRAM = Synchronous dynamic RAM
SIO = System I/O
SMP = Symmetric multiprocessing (dual processors)
184
Chapter 4
Motherboards and Buses
Note
Pentium Pro, Celeron, and Pentium II/III CPUs have their secondary caches integrated into the CPU package. Therefore,
cache characteristics for these machines are not dependent on the chipset but are quite dependent on the processor.
Up until the release of the single-chip 6x series, most Intel chipsets were designed as a two-part system, using a North Bridge (MCH or GMCH in hub-based designs) and a South Bridge (ICH in hubbased designs) component. Often the same South Bridge or ICH component can be used with several
different North Bridge (MCH or GMCH) chipsets. Table 4.16 shows a list of all the Intel South Bridge
components used with P6-class processors and their capabilities. The ICH2 is also used as part of some
of the first seventh-generation (Pentium 4/Celeron 4) Intel chipsets.
Table 4.16
Intel South Bridge-I/O Controller Hub Chips for P6
Chip Name
SIO
PIIX
PIIX3
PIIX4
Part Number
82378IB/
82371FB
82371SB
82371AB
IDE Support
None
BMIDE
BMIDE
UDMA-33
USB Support
None
None
1C/2P
1C/2P
CMOS/Clock
No
No
No
Yes
ISA Support
Yes
Yes
Yes
Yes
LPC Support
No
No
No
No
Power Management
SMM
SMM
SMM
SMM
SIO = System I/O
PIIX = PCI ISA IDE (ATA) Xcelerator
ICH = I/O controller hub
USB = Universal serial bus
1C/2P = 1 controller, 2 ports
2C/4P = 2 controllers, 4 ports
IDE = Integrated Drive Electronics (ATA = AT attachment)
BMIDE = Bus master IDE (ATA)
UDMA = Ultra-DMA IDE (ATA)
ISA = Industry-standard architecture bus
LPC = Low-pin-count bus
SMM = System management mode
ACPI = Advanced configuration and power interface
Several third-party companies also produced chipsets designed to support P6-class processors, including ALi Corporation (formerly known as Acer Laboratories), VIA Technologies, and SiS. ALi (Acer Labs,
Inc.) spun off its chipset division in 2003 as ULi Electronics; then ULi was acquired by NVIDIA in
2006. ALi manufactured a variety of chipsets for the P6-class processors. Most of these were similar in
form and function to the Intel offerings.
Chapter 4
Seventh/Eighth-Generation (Pentium 4/D, Core 2, and Core i) Chipsets
PIIX4E
ICH0
ICH
82371EB
82801AB
82801AA
82801BA
UDMA-33
UDMA-33
UDMA-66
UDMA-100
1C/2P
1C/2P
1C/2P
2C/4P
Yes
Yes
Yes
Yes
Yes
No
No
No
No
Yes
Yes
Yes
SMM/ACPI
SMM/ACPI
SMM/ACPI
SMM/ACPI
185
ICH2
Seventh/Eighth-Generation (Pentium 4/D,
Core 2, and Core i) Chipsets
The Pentium 4 and Celeron processors using Socket 423 and those made for Socket 478 are essentially
the same processors with different cache designs and minor internal revisions, so the same chipset
can be used for both processors. The Pentium 4 processor in Socket 775 is different from its predecessors; consequently, most 9xx-series chipsets support only the Socket 775 version of the Pentium 4, as
well as the newer Core 2 series of processors.
Tables 4.17 and 4.18 show the 8xx-series chipsets Intel makes for Pentium 4 and Celeron 4 processors.
These chipsets use Intel’s hub architecture, providing an interconnect speed of 266MBps between the
MCH/GMCH and the ICH chips.
186
Chapter 4
Table 4.17
Motherboards and Buses
Pentium 4 8xx-Series Chipsets from Intel Introduced 2000–2002
Chipset
850
850E
845
845E
Code Name
Tehama
Tehama-E
Brookdale
Brookdale-E
Date Introduced
Nov. 2000
May 2002
Sept. 2001 (SDRAM);
Jan. 2002 (DDR)
May 2002
Part Number
82850
82850E
82845
82845E
Bus Speeds
400MHz
400/533MHz
400MHz
400/533MHz
Supported Processors
Pentium 4, Celeron
Pentium 4, Celeron
Pentium 4, Celeron
Pentium 4, Celeron
SMP (Dual CPUs)
No
No
No
No
Memory Types
RDRAM (PC800)
dual-channel
RDRAM (PC800,
1066 dual-channel)
PC133 SDRAM,
SDRAM
DDR 200/
266 SDRAM
Parity/ECC
Both
Both
ECC
ECC
Maximum Memory
2GB
2GB (PC800);
1.5GB (PC1066)
2GB(PC2100
DDR); 3GB
(PC133 SDRAM)
2GB
Memory Banks
2
2
2 (PC2100);
3 (PC133)
2
PCI Support
2.2
2.2
2.2
2.2
PCI Speed/Width
33MHz/32-bit
33MHz/32-bit
33MHz/32-bit
33MHz/32-bit
AGP Slot
AGP 4x (1.5V)
AGP 4x (1.5V)
AGP 4x (1.5V)
AGP 4x (1.5V)
Integrated Video
No
No
No
No
South Bridge (Hub)
ICH2
ICH2
ICH2
ICH4
Table 4.18
Intel 8xx-Series Chipsets Introduced in 2003 for Pentium 4
Chipset
848P
865P
865PE
Code Name
Date Introduced
Breeds Hill
Springdale-P
Springdale-PE
Feb. 2004
May 2003
May 2003
Part Number
82848P
82865P
82865PE
Bus Speeds
800/533/400MHz
533/400MHz
800/533/400MHz
Supported Processors
Pentium 4, Celeron,
Celeron D
Pentium 4, Celeron,
Celeron D
Pentium 4, Celeron,
Celeron D
SMP (Dual CPUs)
No
No
No
Memory Types
DDR266/333/4
00 single-channel
DDR266/
333 dual-channel
DDR333/4
00 dual-channel
Parity/ECC
Neither
Neither
Neither
Maximum Memory
2GB
4GB
4GB
Memory Banks
2
2
2
PCI Support
2.3
2.3
2.3
PCI Speed/Width
33MHz/32-bit
33MHz/32-bit
33MHz/32-bit
Video
AGP 8x
AGP 8x
AGP 8x
Seventh/Eighth-Generation (Pentium 4/D, Core 2, and Core i) Chipsets
Chapter 4
187
845GL
845G
845GE
845GV
845PE
Brookdale-GL
Brookdale-G
Brookdale-GE
Brookdale-GV
Brookdale-PE
July 2002
July 2002
Oct. 2002
Oct. 2002
Oct. 2002
82845GL
82845G
82845GE
82845GV
82845PE
400MHz
400/533MHz
400/533MHz
400/533MHz
400/533MHz
Pentium 4, Celeron
Pentium 4, Celeron
Pentium 4, Celeron
Pentium 4, Celeron
Pentium 4, Celeron
No
No
No
No
No
DDR 200/
266 SDRAM
SDRAM
PC133 SDRAM,
DDR 200/266
SDRAM
PC133 SDRAM,
DDR 200/266
DDR 333/2
66 SDRAM
DDR 200/266
SDRAM
Neither
ECC
Neither
Neither
Neither
2GB
2GB
2GB
2GB
2GB
2
2
2
2
2
2.2
2.2
2.2
2.2
2.2
33MHz/32-bit
33MHz/32-bit
33MHz/32-bit
33MHz/32-bit
33MHz/32-bit
None
AGP 4x (1.5V)
AGP 4x (1.5V)
None
AGP 4x (1.5V)
Intel Extreme Graphics
200MHz
Intel Extreme Graphics
200MHz
Intel Extreme Graphics
266MHz
Intel Extreme
Graphics 200MHz
No
ICH4
ICH4
ICH4
ICH4
ICH4
865G
865GV
875
Springdale-G
Springdale-GV
Canterwood
May 2003
May 2003
April 2003
82865G
82865GV
82875
800/533/400MHz
800/533/400MHz
800/533MHz
Pentium 4, Celeron, Celeron D
Pentium 4, Celeron, Celeron
DPentium 4, Celeron, Celeron D
No
No
No
DDR333/400 dual-channel
DDR333/400 dual-channel
DDR333/400 dual-channel
Neither
Neither
ECC
4GB
4GB
4GB
2
2
2
2.3
2.3
2.3
33MHz/32-bit
33MHz/32-bit
33MHz/32-bit
AGP 8x
—
AGP 8x
188
Chapter 4
Table 4.18
Motherboards and Buses
Continued
Chipset
848P
865P
865PE
Integrated Video
No
No
No Graphics 2
Gigabit (GbE) Ethernet Support*
No
Yes
Yes
South Bridge (Hub)
ICH5/ICH5R
ICH5/ICH5R
ICH5/ICH5R
*GbE connects directly to the MCH/GMCH chip, bypassing the PCI bus. It is implemented by the optional
Intel_82547E1 Gigabit Connection chip.
Table 4.19 lists the ICH chips used by 8xx-series Pentium 4/Celeron 4 chipsets made by Intel.
Table 4.19
I/O Controller Hub Chips for Pentium 4 8xx-Series Chipsets
Chip Name
ICH0
ICH
ICH2
Part Number
82801AB
82801AA
82801BA
ATA Support
UDMA-33
UDMA-66
UDMA-100
SATA Support
No
No
No
SATA RAID
No
No
No
USB Support
1C/2P
1C/2P
2C/4P
USB 2.0
No
No
No
CMOS/Clock
Yes
Yes
Yes
PCI Support
2.2
2.2
2.2
LPC Support
Yes
Yes
Yes
Power Management
SMM/ACPI 1.0
SMM/ACPI 1.0
SMM/ACPI 1.0
10/100 Ethernet
No
No
No
ICH = I/O controller hub
SATA = Serial ATA
USB = Universal serial bus
xC/xP = Number of controller/number of ports
ATA = AT attachment (IDE)
UDMA = Ultra-DMA ATA
LPC = Low-pin-count bus
SMM = System management mode
ACPI = Advanced configuration and power interface
In mid-2004, Intel introduced the 915/925 series of chipset for the Pentium 4 and Celeron 4. These
chipsets, code-named Grantsdale and Alderwood before their introduction, were the first Intel
chipsets to support several Socket 775 processors, DDR2 memory, and PCI Express for both video and
other high-speed I/O uses (such as Gigabit Ethernet).
In 2005, Intel introduced its first dual-core chip for desktop processors (the Pentium D) as well as a
processor designed for maximum single-core performance (the Pentium Extreme Edition). To support
these new processors as well as Socket 775 Pentium 4 processors with HT Technology, Intel released
the 945, 955, and 975 chipsets.
Because of the greater performance needed to support these high-speed technologies, the 9xx-series
chipsets use a faster hub architecture than what was used by the 8xx-series chipsets. The new interconnect design, known as DMI, runs at 1GBps in each direction. Table 4.20 lists the 9xx-series
chipsets for the Pentium 4; Table 4.21 lists the 9xx-series chipsets for the Core 2, Pentium D, and
Pentium Extreme Edition (they also support the Pentium 4); and Table 4.22 lists the ICH6 and ICH7
families of I/O controller hub chips used with 9xx-series chipsets.
Seventh/Eighth-Generation (Pentium 4/D, Core 2, and Core i) Chipsets
865G
865GV
Chapter 4
875
Intel Extreme Graphics 2
Intel Extreme
No
Yes
Yes
Yes
ICH5/ICH5R
ICH5/ICH5R
ICH5/ICH5R
ICH4
ICH5
ICH5R
82801DB
82801EB
82801ER
UDMA-100
UDMA-100
UDMA-100
No
SATA-150
SATA-150
No
No
RAID 0, RAID 1
3C/6P
4C/8P
4C/8P
Yes
Yes
Yes
Yes
Yes
Yes
2.2
2.3
2.3
Yes
Yes
Yes
SMM/ACPI 2.0
SMM/ACPI 2.0
SMM/ACPI 2.0
Yes
Yes
Yes
189
190
Chapter 4
Table 4.20
Motherboards and Buses
Intel 9xx-Series Chipsets for Pentium 4
Chipset
910GL
915P
915PL
Code Name
Date Introduced
Grantsdale-GL
Grantsdale-P
Grantsdale-PL
Sept. 2004
June 2004
March 2005
Part Number
82910GL
828915P
828915GPL
Bus Speeds
533MHz
800/533MHz
800/533MHz
Supported Processors
Pentium 4, Celeron,
Celeron D
Pentium 4, Celeron,
Celeron D
Pentium 4,
Celeron D
Memory Types
DDR333/400
dual-channel
DDR333/400
dual-channel, DDR2
DDR333/400
Parity/ECC
Neither
Neither
Neither
Maximum Memory
2GB
4GB
2GB
PCI Support
PCIe x1, PCI 2.3
PCIe x1, x16,
PCI 2.2
PCIe x1, x16,
PCI 2.3
PCI Express x16 Video
No
Yes
Yes
Integrated Video
Intel GMA 900
No
No
South Bridge (hub)
ICH6 family
ICH6 family
ICH6 family
*B-2 stepping and above are required for ECC support.
915GL does not support HT Technology.
GMA 900 = Graphics Media Accelerator 900.
Table 4.21 Intel 9xx-Series Chipsets for Core 2, Pentium D, Pentium Extreme Edition,
and Pentium 4
Chipset
975X
955X
Code Name
Glenwood
Glenwood
Date Introduced
Nov. 2005
April 2005
Part Number
82975X
82955X
Bus Speeds
1066/800MHz
1066/800MHz
Supported Processors
Pentium Extreme Edition, Pentium D,
Pentium 4 with HT Tech (Socket 775)
Pentium Extreme Edition, Pentium D,
Pentium 4 with HT Tech (Socket 775)
Memory Types
DDR2 667/533MHz dual-channel
DDR2 667/533MHz dual-channel
Parity/ECC
ECC
ECC
Maximum Memory
8GB
8GB
PCI Support
PCIe x1, x16, PCI 2.3
PCIe x1, x16, PCI 2.3
PCIe x16 Video
Yes, dual slots
Yes
Integrated Video
No
No
South Bridge (Hub)
ICH7 family
ICH7 family
Chapter 4
Seventh/Eighth-Generation (Pentium 4/D, Core 2, and Core i) Chipsets
915G
915GV
915GL
925X
925XE
Alderwood-E
191
Grantsdale-G
Grantsdale-GV
Grantsdale-GL
Alderwood
June 2004
June 2004
March 2005
June 2004
Nov. 2004
828915G
828915GV
828915GL
82925X
82925XE
800/533MHz
800/533MHz
533MHz
800/533MHz
1066/800MHz
Pentium 4, Celeron,
Celeron D
Pentium 4, Celeron,
Celeron D
Pentium 4, Celeron,
Celeron D
Pentium 4, Celeron,
Celeron D
Pentium 4 (90nm)
DDR333/
400 dualchannel DDR2
DDR333/
400 dualchannel DDR2
DDR333/
400 dualchannel
DDR2
DDR2 533/
400 dual channel
Neither
Neither
Neither
ECC*
Neither
4GB
4GB
4GB
4GB
4GB
PCIe x1, x16,
PCIe x1, PCI 2.2
PCI 2.2
PCIe x1, PCI 2.2
PCIe x1, x16,
PCI 2.3
PCIe x1, x16,
Yes
No
No
Yes
Yes
Extreme Graphics 3
Extreme Graphics 3
Extreme Graphics 3
No
No
ICH6 family
ICH6 family
ICH6 family
ICH6 family
ICH6 family
945G
945P
945PL
Lakeport-G
Lakeport-P
Lakeport-PL
May 2005
May 2005
March 2006
82945G
82945P
82945PL
1066/800/533MHz
1066/800/533MHz
800/533MHz
Pentium D, Pentium 4 with HT Tech
(Socket 775)
Pentium D, Pentium 4 with HT Tech
(Socket 775)
Pentium D, Pentium 4 with
HT Tech (Socket 775)
DDR2 667/533/400MHz, dual-channel
DDR2 667/533/400MHz dual-channel
DDR2 533/400MHz
dual-channel
Neither
Neither
Neither
4GB
4GB
4GB
PCIe x1, x16, PCI 2.3
PCIe x1, x16, PCI 2.3
PCIe x1, x16, PCI 2.3
Yes
Yes
Yes
Intel GMA 900
No
No
ICH7 family
ICH7 family
ICH7 family
192
Chapter 4
Motherboards and Buses
Table 4.22 Intel 9xx Chipset I/O Controller Hub (ICH) Specifications
(aka South Bridge)
Features
ICH6
ICH6R
ICH7
ICH7R
ICH8
ICH8R
PATA Support*
UDMA-100
UDMA-100
UDMA-100
UDMA-100
No
No
SATA Support
1.5Gbps,
4 drives
1.5Gbps,
4 drives
3Gbps,
4 drives
3Gbps,
4 drives
3Gbps,
4 drives
3Gbps,
6 drives
SATA RAID
No
0, 1, 10
No
0, 1, 10, 5
No
0, 1, 10, 5
USB 2.0 Support
6 ports
6 ports
8 ports
8 ports
10 ports
10 ports
CMOS/ Clock
Yes
Yes
Yes
Yes
Yes
Yes
PCI Support
PCI 2.3,
PCIe 1.0a
PCI 2.3,
PCIe 1.0a
PCI 2.3,
PCIe 1.0a
PCI 2.3,
PCIe 1.0a
PCI 2.3,
PCIe 1.1
PCI 2.3,
PCIe 1.1
Number of PCI
Express Lanes
4
4
4
6
6
6
LPC support
Yes
Yes
Yes
Yes
Yes
Yes
Power Management
SMM/
ACPI 1.0
SMM/
ACPI 1.0
SMM/
ACPI 3.0
SMM/
ACPI 3.0
SMM/
ACPI 3.0
SMM/
ACPI 3.0
Ethernet
10/100
10/100
10/100
10/100
10/100/
1000
10/100/
1000
Audio support
HD Audio,
AC ‘97
HD Audio,
AC ‘97
HD Audio
HD Audio
HD Audio
HD Audio
ICH = I/O controller hub
USB = Universal serial bus
xC/xP = Number of USB controllers/number of ports
PATA = Parallel AT attachment (IDE)
UDMA = Ultra-DMA ATA
LPC = Low-pin-count bus
SMM = System management mode
ACPI = Advanced configuration and power interface
*One ATA port supporting two ATA/IDE drives
Intel 915 Family
The Intel 915 chipset family, code-named Grantsdale during its development, was introduced in 2004.
The Grantsdale family comprises six members (910GL, 915PL, 915P, 915G, 915GV, and 915GL), all of
which support the 90nm Pentium 4 Prescott core. These chipsets are the first to support the Socket
775 processor interface outlined in Chapter 3. These chipsets replaced the 865 Springdale family of
chipsets.
The 915P, 915G, 915GV, 915GL, and 915PL models are designed to support the HT Technology feature
built into most recent Pentium 4 processors and to support bus speeds up to 800MHz. All five chipsets
support dual-channel DDR memory up to 400MHz and PCI Express x1 as well as PCI version 2.3
expansion slots. The 915P, 915G, and 915GV chipsets also support the then-new DDR2 memory
standard at speeds up to 533MHz.
Seventh/Eighth-Generation (Pentium 4/D, Core 2, and Core i) Chipsets
Chapter 4
193
The 915P and 915PL use a PCI Express x16 slot for high-speed graphics, whereas the 915G has a PCI
Express x16 slot as well as integrated Intel Graphics Media Accelerator 900 (originally known as
Extreme Graphics 3). The 915GV, 915GL, and 910GL use Intel Graphics Media Accelerator 900 but do
not include a PCI Express x16 slot. Graphics Media Accelerator 900 is a partial implementation of
DirectX 9, but it lacks the vertex shaders found on fully compatible DirectX 9 GPUs from ATI and
NVIDIA.
The 910GL is the low-end member of the family, lacking support for DDR2 RAM, 800MHz bus speeds,
and PCI Express x16 video. The 910GL is designed to be matched with Intel Celeron or the Celeron D
processors to produce a low-cost system.
All 915-series MCH/GMCH chips use the ICH6 family of South Bridge (I/O Controller Hub or ICH)
replacements detailed in Table 4.22.
Intel 925X Family
The Intel 925 chipset family includes two members: the 925X and the 925XE. The Intel 925X chipset,
code-named Alderwood, was released in 2004. It was designed to replace the 875P Canterwood
chipset. Unlike the 915 series of chipsets, which continue to support older DDR memory, the 925X
supports only DDR2 memory. The 925X also supports ECC memory, providing a fast and accurate
platform for mission-critical applications. To further improve performance, it uses an optimized memory controller design.
The 925X supports the Pentium 4 Extreme Edition and the Pentium 4 in Socket 775 form factors. It
also includes PCI Express x1, PCI Express x16 (video), and PCI version 2.3 expansion slots. The I/O
controller hub uses the ICH6 family of South Bridge replacements detailed in Table 4.22.
The 925XE is an updated version of the 925X, adding support for 1,066MHz FSB speeds; however, it
dropped support for the Pentium 4 Extreme Edition processor and for ECC memory.
Intel 945 Express Family
The Intel 945 Express chipset family (code-named Lakeport) was released in 2005 and includes three
members: 945G, 945P, and 945PL. These chipsets, along with the 955X and 975X, were the first to
support Intel’s new dual-core Pentium D processors, but they also support Pentium 4 HT Technology
processors using Socket 775.
The 945G and 945P were aimed at what Intel refers to as the “performance PC” market segment. They
offer FSB speeds up to 1,066MHz and up to 4GB of dual-channel DDR2 memory (two pairs) running
at up to 667MHz. Both feature PCI Express x16 support, but the 945G also incorporates Intel Graphics
Media Accelerator 950 integrated graphics.
The 945PL—aimed at what Intel refers to as the “mainstream PC” segment—supports only two memory modules (one pair of dual-channel modules) running at up to 533MHz and a maximum memory
size of 2GB. It also supports PCI Express x16.
All members of the 945 family support the ICH7 family of I/O controller hub chips listed in Table
4.22. The ICH7 family differs from ICH6 in the following ways:
■ It has support for 300MBps Serial ATA.
■ It has support for SATA RAID 5 and Matrix RAID (ICH7R only).
■ It has support for two additional PCI Express x1 ports (ICH7R only).
Figure 4.22 compares the features of the 945G and 915G chipsets.
194
Chapter 4
Motherboards and Buses
Intel® Pentium® D
Processor
Support for
Media Expansion Card
Intel’ Pentium 4
processor supporting
HT Technology
915G
Intel® GMA
950 Graphics
6.4 GB/s
TM
Intel GMA
900 Graphics
82915G
GMCH
PCI Express
x16 Graphics
TM
PCI Express
x16 Graphics
DDR/DDR2
60
MB/s
DMI
3
GB/s
DMI
150
MB/s
8 Hi-Speed
USB 2.0 Ports
DDR2
2 GB/s
TM
500
MB/s
ICH6R
10.7 GB/s
8
GB/s
Intel® High
Definition Audio
DDR/DDR2
Intel High
Definition Audio
4 PCI
Express x1
DDR2
82945G
GMCH
8.5 GB/s
8.5
GB/s
2 GB/s
945G
8.5 GB/s
8 Hi-Speed
USB 2.0 Ports
4 Serial
ATA Ports
8
PCI
133
MB/s
TM
6 PCI Express x1
TM
Intel Matrix
Storage Technology
BIOS Supports
HT Technology
60
MB/s
Intel® Matrix
Storage Technology
82801GR
ICH7R
500
MB/s
4 Serial ATA Ports
133
MB/s
6 PCI
LPC or SPI
Intel® PRO/1000 LAN
BIOS Support
Intel Active
Management Technology
Figure 4.22 The 915G chipset (left) was the first Intel chipset to support both PCI Express x16 and integrated graphics. The 945G chipset (right) offers similar features but supports faster integrated graphics, faster
SATA hard disks, and more PCI Express x1 slots than the 915G.
Intel 955X and 975X Family
The Intel Glenwood chipset family was released in 2005 and includes two members: the 955X and
975X. These chipsets, along with the 945 family, are the first to support Intel’s new dual-core Pentium
D processors, but they also support the new high-performance single-core Pentium Extreme Edition
processors and existing Pentium 4 HT Technology processors using Socket 775. Intel categorizes these
chipsets as entry-level workstation and performance PC chipsets.
Although these chipsets are numbered in different series, most of their features are identical. Both
support FSB speeds of 800MHz and 1,066MHz and support up to four DDR2 667/533MHz memory
modules (two pairs of dual-channel modules) for a maximum 8GB of system memory. Both support
ECC memory—a must for workstation operation—and both use the ICH7 family of I/O controller hub
chips listed in Table 4.22.
The 955X and 975X differ from each other in their video support. The 955X supports a single PCI
Express x16 video card, whereas the 975X supports two PCI Express video cards in CrossFire dual-slot
operation.
Intel 96x Series
The 96x series (code-named Broadwater) was introduced in June 2006 and is designed to support the
Core 2 processors, including dual- and quad-core versions. There are several models in the series, each
with slightly different features. The Q963 and Q965 are the most basic versions. Both feature integrated GMA 3000 video; however, the Q965 includes support for a PCIe x16 slot (allowing for a video
Seventh/Eighth-Generation (Pentium 4/D, Core 2, and Core i) Chipsets
Chapter 4
195
card upgrade). It also supports faster 800MHz DDR2 memory. The P965 deletes the integrated video
for those only wanting to use PCIe x16 cards. Finally, the G965 includes all the features of the other
chipsets while adding even better integrated GMA X3000 video, along with support for a PCIe x16
upgrade slot. Table 4.23 shows the major features of these chipsets.
Table 4.23
Intel 96x Chipsets for Core 2
Chipset
Q963
Q965
P965
G965
Code Name
Date Introduced
Broadwater
Broadwater
Broadwater
Broadwater
June 2006
June 2006
June 2006
June 2006
Part Number
82Q963 GMCH
82Q965 GMCH
82P965 MCH
82Q965 GMCH
Supported Processors
Core 2, Pentium D,
Pentium 4
Core 2, Pentium D,
Pentium 4
Core 2, Pentium D,
Pentium 4
Core 2, Pentium
D, Pentium 4
CPU FSB
1066/800/
533MHz
1066/800/
533MHz
1066/800/
533MHz
1066/800/
533MHz
Max Memory
8 GB
8 GB
8 GB
8 GB
Memory Type
Dual-Channel
DDR2
Dual-Channel
DDR2
Dual-Channel
DDR2
Dual-Channel
DDR2
Memory Speed
667/533MHz
800/667/
533MHz
800/677/
533MHz
800/667/
533MHz
Integrated Graphics
GMA 3000
GMA 3000
No
GMA X3000
External Graphics
No
1 PCIe x16
1 PCIe x16
1 PCIe x16
I/O Controller Hub
ICH8 family
ICH8 family
ICH8 family
ICH8 family
Intel 3x and 4x Series Chipsets
Introduced in June 2007, the 3x series chipset family (code-named Bearlake) was designed to support
the Core 2 processors in both dual- and quad-core versions. The 4x series followed in March 2008 and
basically added DDR3 memory support, plus faster PCIe 2.x slots and improved integrated graphics.
Some of the 3x and 4x series chipsets also include integrated GMA (Graphics Memory Accelerator)
graphics, and some of those include Clear Video Technology, which can enhance video playback and
support High Definition Media Interface (HDMI).
The 3x and 4x series are available in a number of versions, including some with integrated video, support for faster CPU and memory speeds, as well as more memory and slots. Tables 4.24 and 4.25 show
the different 3x and 4x series chipsets.
196
Chapter 4
Table 4.24
Motherboards and Buses
Intel 3x Chipset Specifications
Chipset
P31
G31
Q33
Code Name
Bearlake
Bearlake
Bearlake
Date Introduced
Aug. 2007
Aug. 2007
June 2007
Supported CPUs
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2 Duo/Quad,
Pentium Dual-Core
CPU FSB
800/1066MHz
800/1066/1333MHz
800/1066/1333MHz
Max. Memory
4GB
4GB
8GB
Memory Channels
Dual-Channel
Dual-Channel
Dual-Channel
Memory Type and Speed
DDR2 667/800
DDR2 667/800
DDR2 667/800
Integrated Graphics
No
GMA 3100
GMA 3100
External Graphics
1 PCIe x16, 1 PCIe x4
1 PCIe x16
1 PCIe x16
I/O Controller Hub
ICH7 family
ICH7 family
ICH9 family
Table 4.25
Intel 4x Chipset Specifications
Chipset
G41
Code Name
Eaglelake
Date Introduced
Sep. 2008
Supported CPUs
Core 2 Duo/Quad,
Pentium Dual-Core
CPU FSB
Q43
B43
G43
Eaglelake
Eaglelake
Eaglelake
Sep. 2008
Dec. 2008
June 2008
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2 Duo/Quad,
Pentium Dual-Core
800/1066/
1333MHz
800/1066/
1333MHz
800/1066/
1333 MHz
800/1066/
1333MHz
Max. Memory
8GB
16GB
16GB
16GB
Memory Channels
Dual-Channel
Dual-Channel
Dual-Channel
Dual-Channel
Memory Type and
Speed
DDR3 800/1066,
DDR2 667/800
DDR3 800/1066,
DDR2 667/800
DDR3 800/1066/
1333, DDR2 667/
800/1066
DDR3 800/1066,
DDR2 667/800
Integrated Graphics
GMA X4500
GMA X4500
GMA X4500
GMA X4500
External Graphics
1 PCIe x16
1 PCIe x16 2.0
1 PCIe x16 2.0
1 PCIe x16 2.0
I/O Controller Hub
ICH7 family
ICH10 family
ICH10 family
ICH10 family
Seventh/Eighth-Generation (Pentium 4/D, Core 2, and Core i) Chipsets
G33
Q35
Chapter 4
G35
P35
X38
Bearlake
197
Bearlake
Bearlake
Bearlake
Bearlake
June 2007
June 2007
Aug. 2007
June 2007
Sep. 2007
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2
Duo/Quad/Extreme
800/1066/
1333MHz
800/1066/
1333MHz
800/1066/
1333MHz
800/1066/
1333MHz
800/1066/
1333MHz
8GB
8GB
8GB
8GB
8GB
Dual-Channel
Dual-Channel
Dual-Channel
Dual-Channel
Dual-Channel
DDR2 667/800
DDR2 667/800
DDR2 667/800
DDR3 800/1066/
1333, DDR2 667/
800/1066
DDR3
800/1066/1333,
DDR2 667/800/1066
GMA 3100,
Clear Video
Technology
GMA 3100
GMA X3500,
Clear Video
Technology
No
No
1 PCIe x16
1 PCIe x16
1 PCIe x16
1 PCIe x16,
1 PCIe x4
2 PCIe x16 2.0
ICH9 family
ICH9 family
ICH8 family
ICH9 family
ICH9 family
P43
Q45
G45
P45
X48
Bearlake
Eaglelake
Eaglelake
Eaglelake
Eaglelake
June 2008
Sep. 2008
June 2008
June 2008
March 2008
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2 Duo/Quad,
Pentium Dual-Core
Core 2
Duo/Quad/Extreme,
Pentium Dual-Core
800/1066/
1333MHz
800/1066/
1333MHz
800/1066/
1333MHz
800/1066/
1333MHz
1066/1333/
1600MHz
16GB
16GB
16GB
16GB
8GB
Dual-Channel
Dual-Channel
Dual-Channel
Dual-Channel
Dual-Channel
DDR3 800/1066,
DDR2 667/800
DDR3 800/1066,
DDR2 667/800
DDR3 800/1066,
DDR2 667/800
DDR3 800/1066/
1333, DDR2 667/
800/1066
DDR3 1066/1333/
1600, DDR2
533/667/800/1066
No
GMA X4500
GMA X4500HD
No
No
1 PCIe x16 2.0
1 PCIe x16 2.0
1 PCIe x16 2.0
1 PCIe x16 2.0,
2 PCIe x8 2.0
2 PCIe x16 2.0
ICH10 family
ICH10 family
ICH10 family
ICH10 family
ICH9 family
198
Chapter 4
Motherboards and Buses
The 3x and 4x series chipsets are designed as a two-chip set solution and must be combined with a
corresponding ICH chip. The ICH contains interfaces for the SATA ports (some with RAID capability),
non-video PCIe slots, USB ports, and integrated HD audio and LAN connections. Table 4.26 shows the
specific ICH chips that are used with 3x and 4x series chipsets.
Table 4.26
Intel 3x/4x/5x Chipset I/O Controller Hub (ICH) Specifications (aka South Bridge)
Features
ICH7
ICH7R
ICH8
PATA Support*
UDMA-100
UDMA-100
No
3Gbps, 4 drives
SATA Support
3Gbps, 4 drives
3Gbps, 4 drives
SATA RAID
No
0, 1, 10, 5
No
USB 2.0 Support
8 ports
8 ports
10 ports
CMOS/Clock
Yes
Yes
Yes
PCI Support
PCI 2.3, PCIe 1.0a
PCI 2.3, PCIe 1.0a
PCI 2.3, PCIe 1.1
Number of PCI Express Lanes
4
6
6
LPC Support
Yes
Yes
Yes
Power Management
SMM/ACPI 3.0
SMM/ACPI 3.0
SMM/ACPI 3.0
Ethernet
10/100
10/100
10/100/1000
Audio Support
HD Audio
HD Audio
HD Audio
Intel 5x Series Chipsets
The Intel 5x series of chipsets is designed to support the original Core i Series processors. These
processors and chipsets have a distinctly different design from previous Intel chipsets and represent a
new level of system integration. In fact, the 5x series actually has two completely different subseries,
with the first two examples being the X58 IOH (I/O Hub) introduced in November 2008, and the P55
PCH (Platform Controller Hub) introduced in September 2009. Perhaps the biggest difference between
the 5x series chipsets and its predecessors is that the memory controller is no longer part of the
chipset, having been moved directly into the Core i Series processors instead. Placing the memory
controller in the processor means that the memory modules are directly connected to the processor
instead of the North Bridge chipset component, allowing for a dedicated connection between the
processor and memory. Although this sounds like (and is) a good idea, it’s not a new one. This is
something that AMD introduced in the Athlon 64 as far back as 2003.
With the memory controller integrated into the processor, the only function left for the North Bridge
is to act as an interface to the PCIe video card slots. Because the North Bridge no longer controls
memory, Intel changed the name from MCH to IOH in the 5x series chipsets that support socket
LGA1366 processors. Figure 4.23 shows the block diagram of a system with a socket LGA1366 Core i
Series processor on a motherboard with an X58 Express chipset. In the diagram, you can also see the
use of the traditional ICH (I/O Controller Hub), which supports interfacing to SATA, USB, and other
components in the system.
Seventh/Eighth-Generation (Pentium 4/D, Core 2, and Core i) Chipsets
Chapter 4
ICH8R
ICH9
ICH9R
ICH10
ICH10R
No
No
No
No
No
199
3Gbps, 6 drives
3Gbps, 6 drives
3Gbps, 6 drives
3Gbps, 6 drives
3Gbps, 6 drives
0, 1, 10, 5
No
0, 1, 10, 5
No
0, 1, 10, 5
10 ports
12 ports
12 ports
12 ports
12 ports
Yes
Yes
Yes
Yes
Yes
PCI 2.3, PCIe 1.1
PCI 2.3, PCIe 1.1
PCI 2.3, PCIe 1.1
PCI 2.3, PCIe 1.1
PCI 2.3, PCIe 1.1
6
6
6
6
6
Yes
Yes
Yes
Yes
Yes
SMM/ACPI 3.0
SMM/ACPI 3.0b
SMM/ACPI 3.0b
SMM/ACPI 3.0b
SMM/ACPI 3.0b
10/100/1000
10/100/1000
10/100/1000
10/100/1000
10/100/1000
HD Audio
HD Audio
HD Audio
HD Audio
HD Audio
DDR3 memory 8.5GBps
Intel Core
i Series
Processor
DDR3 memory 8.5GBps
DDR3 memory 8.5GBps
QPI
25.6GBps
LGA1366
PCI Express 2.0 Graphics
Support for
Multicard configurations:
1x16, 2x16, 4x8 or
other combination
up to
36 lanes
X58
IOH
2 GBps
DMI
12 Hi-Speed USB 2.0 Ports; 480MBps
Dual EHCI; USB Port Disable
each
6 PCI Express x 1
500MBps
eachx1
High
Defination Audio
ICH10
or
ICH10R
Integrated
10/100/1000 MAC
Gigabit LAN Connect
Figure 4.23
chipset.
3GBps
each
6 Serial ATA Ports; eSATA;
Port Disable
Intel Matrix
Storage Technolgoy
BIOS Support
Optional
Block diagram of a system with a socket LGA1366 Core i Series processor and an X58 Express
200
Chapter 4
Motherboards and Buses
Currently, the only 5x series chipset for socket LGA1366 processors is the X58 Express, for which
Table 4.27 lists the features.
Table 4.27
Intel 5x Chipset for Socket LGA1366 Processors
Chipset
X58 Express
Code Name
Tylersburg
Date Introduced
Nov. 2008
Part Number
82X58 (IOH)
Supported CPUs
Core i Series w/socket LGA1366
CPU FSB
6.4GTps QPI (25.6GBps)
Integrated Graphics
No
External Graphics
2 PCIe 2.0 x16
I/O Controller Hub
ICH10 family
In systems using socket LGA1156 Core i Series processors, Intel has taken this component consolidation even further by incorporating not only the memory controller, but also the PCI Express video
interface directly into the processor. In effect, this means that Intel has built the entire North Bridge
part of the chipset right into the processor, reducing the motherboard chipset from two chips down
to one. The remaining South Bridge chip has the same functions as what Intel previously called the
ICH, but to differentiate it from previous designs, it changed the designation to PCH (Platform
Controller Hub) instead.
Figure 4.24 shows the block diagram of a system with a socket LGA1156 Core i Series processor on a
motherboard with a P55 chipset. In the diagram you can see that the functionality of the North Bridge
is now part of the CPU, reducing the chipset to a single South Bridge (now called PCH) component.
PCI Express 2.0
Graphics
16 lanes
8GBps
DDR3
10.6GBps
or
PCI Express 2.0
Graphics
8 lanes
4GBps
PCI Express 2.0
Graphics
8 lanes
4GBps
Intel Core
i Series
Processor
2GBps DMI
DDR3
10.6GBps
LGA1156
14 Hi-Speed USB 2.0 Ports; 480MBps
Dual EHCI; USB Port Disable
each
8 PCI Express x 1
250MBps
each x 1
High
High-Definition Audio
P55
PCH
Integrated
10/100/1000 MAC
Gigabit LAN Connect
Figure 4.24
3GBps
each
6 Serial ATA Ports; eSATA;
Port Disable
Intel Matrix
Storage Technolgoy
BIOS Support
Optional
Block diagram of a system with a socket LGA1156 Core i Series processor and a P55 chipset.
Seventh/Eighth-Generation (Pentium 4/D, Core 2, and Core i) Chipsets
Chapter 4
201
By building the external video interface directly into the processor, Intel is also able to produce
processors with integrated graphics processing. Several of the 5x series chipsets (such as the H55, H57,
and Q57) support the FDI (Flexible Display Interface), which requires a Core i Series processor with
integrated graphics. Using FDI, video signals are sent from the GPU in the processor to the PCH,
which then implements the physical interface to the display (that is, DisplayPort, HDMI, DVI, or
VGA). Table 4.28 shows the 5x series chipsets for socket LGA1156 Core i Series processors.
Table 4.28 Intel 5x Chipsets for Socket LGA1156 Core i Series Processors
Chipset
H55
Code Name
Ibex Peak
Date Introduced
Dec. 2009
Part Number
BD82H55
(PCH)
Supported
CPUs
P55
H57
Q57
P57
Ibex Peak
Ibex Peak
Ibex Peak
Ibex Peak
Sep. 2009
Dec. 2009
Dec. 2009
Dec. 2009
BD82P55
(PCH)
BD82H57
(PCH)
BD82Q57
(PCH)
BD82P57
(PCH)
Core i Series
w/socket
LGA1156
Core i Series
w/socket
LGA1156
Core i Series
w/socket
LGA1156
Core i Series
w/socket
LGA1156
Core i Series
w/socket
LGA1156
CPU FSB
2.5 GTps
DMI (2GBps)
2.5 GTps
DMI (2GBps)
2.5 GTps
DMI (2GBps)
2.5 GTps
DMI (2GBps)
2.5 GTps
DMI (2GBps)
Flexible Display
Interface
Yes
No
Yes
Yes
No
PCI Express Lanes
6 PCIe 2.0
8 PCIe 2.0
8 PCIe 2.0
8 PCIe 2.0
8 PCIe 2.0
SATA Support
3.0Gbps,
6 drives
3.0Gbps,
6 drives
3.0Gbps,
6 drives
3.0Gbps,
6 drives
3.0Gbps,
6 drives
USB 2.0 Support
12 ports
14 ports
14 ports
14 Ports
14 ports
Intel 6x Series Chipsets
The Intel 6x series of chipsets is designed to support the 2nd generation Core i Series processors (codenamed Sandy Bridge). These chipsets are similar to the 5x series, with the main differences being
faster transfer rates on several of the interfaces and support for newer processors. The first chipsets in
the 6x series were introduced in January 2011.
Like the 5x series chipsets, the 6x series consists of only a South Bridge component called the PCH
(Platform Controller Hub), since the circuitry normally associated with the North Bridge (that is,
memory controller, optional graphics) has been integrated into the processor.
Figure 4.25 shows the block diagram of a system with a socket LGA1155 2nd generation Core i Series
processor on a motherboard with a P67 chipset. In the diagram, you can see that the functionality of
the North Bridge is now part of the CPU, reducing the chipset to a single South Bridge (now called
PCH) component.
202
Chapter 4
Motherboards and Buses
PCI Express 2.0
Graphics
16 lanes
8GBps
PCI Express 2.0
Graphics
8 lanes
4GBps
PCI Express 2.0
Graphics
8 lanes
4GBps
DDR3
10.6GBps
2nd Gen.
Intel Core
i Series
Processor
or
4GBps
DMI
DDR3
10.6GBps
LGA1155
High
Definition Audio
14 Hi-Speed USB 2.0 Ports; 480MBps
Dual EHCI; USB Port Disable
each
8 PCI Express x1
P67
PCH
500MBps
each x1
Up to
6GBps
6 Serial ATA Ports; eSATA;
Port Disable
Intel Matrix
Storage Technology
Integrated
10/100/1000 MAC
Gigabit LAN Connect
Figure 4.25
chipset.
Optional
BIOS Support
Block diagram of a system with a socket LGA1155 2nd gen. Core i Series processor and a P67
By building the external video interface directly into the processor, Intel is also able to produce
processors with integrated graphics processing. Most of the 6x series chipsets support the FDI (Flexible
Display Interface), which requires a Core i Series processor with integrated graphics. Using FDI, video
signals are sent from the GPU in the processor to the PCH, which then implements the physical interface to the display (that is, DisplayPort, HDMI, DVI, or VGA). Table 4.29 shows the 6x series chipsets
for socket LGA1155 2nd generation Core i Series processors.
Table 4.29
Processors
Intel 6x Chipsets for Socket LGA1155 2nd Generation Core i Series
Chipset
H67
P67
Q67
Q65
B65
H61
Code Name
Cougar Point
Cougar Point
Cougar Point
Cougar Point
Cougar Point
Cougar Point
Date Introduced
Jan. 2011
Jan. 2011
Jan. 2011
Jan. 2011
Jan. 2011
Jan. 2011
Supported CPUs
2nd gen. Core
2nd gen. Core
i Series w/socket i Series w/socket
LGA1155
LGA1155
2nd gen. Core
i Series w/socket
LGA1155
2nd gen. Core
2nd gen. Core
2nd gen. Core
i Series w/socket i Series w/socket i Series w/socket
LGA1155
LGA1155
LGA1155
CPU FSB
5 GTps DMI
5 GTps DMI
5 GTps DMI
5 GTps DMI
5 GTps DMI
5 GTps DMI
(4GBps)
(4GBps)
(4GBps)
(4GBps)
(4GBps)
(4GBps)
Flexible Display Interface Yes
No
Yes
Yes
Yes
Yes
PCI Express Lanes
8 PCIe 2.0
8 PCIe 2.0
8 PCIe 2.0
8 PCIe 2.0
6 PCIe 2.0
6.0 Gbps SATA Support 2 drives
2 drives
2 drives
1 drive
1 drive
None
3.0 Gbps SATA Support 4 drives
4 drives
4 drives
5 drives
5 drives
4 drives
USB 2.0 Support
14 ports
14 ports
14 ports
12 ports
10 ports
8 PCIe 2.0
14 ports
Just a few weeks after the 6x chipsets were released, there was a minor problem found with the 3Gbps
SATA ports in the B2 and earlier steppings. Due to a voltage and internal current leakage problem, the
ports could degrade over time, eventually causing read errors. This problem did not affect the 6Gbps
Third-Party Chipsets for Intel Processors
Chapter 4
203
SATA ports, so one workaround was to only connect drives to those ports. Intel quickly issued a recall,
as did all motherboard and system manufacturers that had sold motherboards with the affected B2
step chips. Intel began shipping fixed B3 stepping chipsets to motherboard manufacturers in February
2011, and new motherboards with the fixed chipsets were on the market by April 2011. Any motherboards or systems sold after that date should be unaffected by this problem.
Third-Party Chipsets for Intel Processors
Over the years, SiS, ULi (now part of NVIDIA), ATI (now part of AMD), and VIA have produced
chipsets for Intel processors. The following sections discuss some of the more popular versions of
these chipsets by vendor.
SiS Chipsets
SiS offered several chipsets for Intel processors, including integrated chipsets, chipsets for use with discrete video accelerator cards, and some that support Rambus RDRAM. SiS chipsets for the Pentium 4
and Pentium D use one of several high-speed South Bridge equivalents (SiS 96x series Media I/O
chips) instead of integrating North and South Bridge functions into a single chip. SiS North and South
Bridge chips for the Pentium 4 and Pentium D use a high-speed 16-bit connection known as MuTIOL
(Multi-Threaded I/O Link) instead of the slow PCI bus as with older chipsets.
For more information about SiS chipsets made for the Pentium 4 and Pentium D, see “SiS Chipsets,”
in Chapter 4, “Motherboards and Buses,” of Upgrading and Repairing PCs, 19th edition, found in its
entirety on the DVD packaged with this book.
ULi Electronics Chipsets
ULi Electronics (formerly known as ALi Corporation and Acer Laboratories, and later acquired by
NVIDIA) has produced several chipsets for the Pentium 4 and Celeron 4 processors, such as the
Aladdin P4 and the M168x series. ULi also produced several South Bridge chips in the M15xx series
for the Pentium 4 as well as AMD Athlon XP and Athlon 64 processors.
For more information about ULi (ALi) chipsets made for the Pentium 4, see “ULi Electronics
Chipsets,” in Chapter 4, “Motherboards and Buses,” of Upgrading and Repairing PCs, 19th edition, found
in its entirety on the DVD packaged with this book.
ATI Chipsets
ATI’s original line of chipsets for the Pentium 4 integrated Radeon VE-level 3D graphics, DVD playback, and dual-display features with high-performance North Bridge and South Bridge designs. ATI
used its high-speed A-Link bus to connect its North and South Bridge chips. These included the ATI
IGP 330/340/350/360 series. The Radeon 9x00 IGP family was ATI’s second generation of chipsets for
the Pentium 4. The 9x00 IGP North Bridge chips feature Radeon 9200-level graphics with DirectX 8.1
hardware support and support for multiple monitors. On the other hand, the companion IXP 300
South Bridge supports Serial ATA and USB 2.0 as well as six-channel audio. The Radeon 9x00 IGP family includes the 9100 IGP, 9100 Pro IGP, and 9000 Pro IGP.
ATI’s line of Pentium 4/Core2–compatible chipsets includes the RC410 (integrates Radeon X300 3D
graphics) and the RS400 (integrates Radeon X300 3D graphics and includes support for PCI Express
x16 video). Both were sold under the Radeon Xpress 200 brand name. Although ATI has made South
Bridge chips in the past, its Radeon Xpress 200 North Bridge chips can be paired with either ATI’s own
IXP 450 or ULi’s M157x South Bridge chips. ATI’s South Bridge chips include the IXP 150, 200, 250,
300, 400, and 450.
204
Chapter 4
Motherboards and Buses
For a comparison chart of ATI chipsets for the Pentium 4, see “ATI Chipsets,” in Chapter 4,
“Motherboards and Buses,” of Upgrading and Repairing PCs, 19th edition, found in its entirety on the
DVD packaged with this book.
VIA Chipsets
VIA Technologies produced a number of chipsets for Pentium 4 processors in its P4X, P4M, PT8 and
PM8 series, as well as South Bridge chips (VT series). The PT8 and PM series also supported Intel’s
Core 2 processors. Although VIA Technologies still lists a wide range of chipsets on its website
(www.via.com.tw), the website states: “*Note: VIA no longer sells some or all of these chipsets.”
For a comparison of VIA Technologies’ chipsets for Pentium 4, see “VIA Chipsets,” in Chapter 4,
“Motherboards and Buses,” of Upgrading and Repairing PCs, 19th edition, found in its entirety on the
DVD packaged with this book.
NVIDIA Chipsets for Intel Processors
Although NVIDIA is not licensed to produce chipsets for the Intel i-series Core processors, it continues
to offer a wide variety of chipsets for Intel processors from the Pentium 4 through the Core 2 Extreme
series. Current offerings include the nForce 600 and nForce 700i series, and the GeForce 7 and
GeForce 9000 series with integrated video.
The 600i series includes support for Gigabit Ethernet, DDR2 memory, PCIe 1.x, SATA and PATA drives
with RAID support, and HD audio. Some models also include support for two-way SLI.
The 700i series includes support for Gigabit Ethernet, two or three-way SLI, SATA and PATA drives
with RAID support, and PCIe version 2.0. DDR2 or DDR3 memory is supported, depending upon the
specific chipset in use.
The GeForce 9000 series includes support for DDR2 or DDR3 memory, Gigabit Ethernet, SATA 3Gbps,
HD Audio, and DirectX 10 graphics.
The GeForce 7 series is based on the nForce 600 series, and supports DDR2 memory, DirectX 9.0
Shader model 3 graphics, PCIe x16 and x1, HD Audio, and RAID. Most models support Gigabit
Ethernet.
For more information, see http://www.nvidia.com/page/mobo.html.
Chipsets for AMD Processors
AMD took a gamble with its Athlon family of processors. With these processors, AMD decided for the
first time to create a chip that was Intel compatible with regard to software but not directly hardware
or pin compatible. Whereas the K6 series would plug into the same Socket 7 that Intel designed for
the Pentium processor line, the AMD Athlon and Duron would not be pin compatible with the
Pentium II/III and Celeron chips. This also meant that AMD could not take advantage of the previously existing chipsets and motherboards when the Athlon and Duron were introduced; instead, AMD
would have to either create its own chipsets and motherboards or find other companies who would.
The gamble has paid off. AMD bootstrapped the market by introducing its own chipset, referred to as
the AMD-750 chipset (code-named Irongate). The AMD 750 chipset consists of the 751 system controller (North Bridge) and the 756 peripheral bus controller (South Bridge). AMD followed with the
AMD-760 chipset for the Athlon/Duron processors, which was the first major chipset on the market
supporting DDR SDRAM for memory. It consisted of two chips—the AMD-761 system bus controller
(North Bridge) and the AMD-766 peripheral bus controller (South Bridge). Similarly, AMD established a
new standard chipset architecture for its line of 64-bit processors—the Athlon 64 and Opteron—by
developing the AMD-8000 chipset. AMD’s pioneering efforts inspired other companies, such as VIA
AMD Athlon Chipsets
Chapter 4
205
Technologies, NVIDIA, SiS, and ATI (now part of AMD) to develop chipsets specifically designed to
interface with AMD processors. In 2006, AMD purchased ATI, essentially bringing both motherboard
chipsets and video processors in-house. This put AMD on a level more equal to Intel because it gave
the company the capability to produce most of the chips necessary to build a system around its processors. Since then, AMD and NVIDIA have produced the majority of chipsets for AMD-based systems.
AMD Athlon Chipsets
The original AMD Athlon was a Slot A processor chip, but subsequent versions used Socket A—as do
the Athlon XP, Duron, and some versions of the Sempron. Although similar in some ways to the
Pentium III and Celeron, the AMD chips use a different interface and require different chipsets. AMD
was originally the only supplier for Athlon chipsets, but VIA Technology, ULi Electronics, SiS, and
NVIDIA produced a large number of chipsets with a range of features.
AMD produced several chipsets for Athlon and Duron processors: the AMD-750 and AMD760/MP/MPX. The major features of these chipsets are compared in Table 4.30 and described in
greater detail in the following sections.
Table 4.30 AMD Athlon/Duron Processor Chipsets Using North/South Bridge
Architecture
Chipset
AMD-750
AMD-760
Code Name
Irongate
None
Date introduced
Aug. 1999
Oct. 2000
Part Number
AMD-751
AMD-761
Bus Speed
200MHz
200/266MHz
Supported Processors
Athlon/Duron
Athlon/Duron
SMP (Dual CPUs)
No
Yes
Memory Type
SDRAM
DDR SDRAM
Memory Speed
PC100
PC1600/PC2100
Parity/ECC
Both
Both
Maximum Memory
768MB
2GB buffered, 4GB registered
PCI Support
2.2
2.2
AGP Support
AGP 2x
AGP 4x
South Bridge
AMD-756
AMD-766
ATA/IDE Support
ATA-66
ATA-100
USB Support
1C/4P
1C/4P
CMOS/Clock
Yes
Yes
ISA Support
Yes
No
LPC Support
No
Yes
Power Management
SMM/ACPI
SMM/ACPI
AGP = Accelerated graphics port
ATA = AT attachment (IDE) interface
DDR-SDRAM = Double data rate SDRAM
ECC = Error-correcting code
ISA = Industry Standard Architecture
LPC = Low-pin-count bus
PCI = Peripheral Component Interconnect
SDRAM = Synchronous dynamic RAM
SMP = Symmetric multiprocessing (dual processors)
USB = Universal serial bus
206
Chapter 4
Motherboards and Buses
AMD Athlon 64 Chipsets
The Athlon 64 processor required a new generation of chipsets, both to support its 64-bit processor
architecture and to allow for integration of the memory controller into the processor. (The memory
controller has traditionally been located in the North Bridge chip or equivalent.) As a consequence,
some vendors do not use the term North Bridge to refer to the chipset component that connects the
processor to AGP video.
AMD 8000 (8151) Chipset
The AMD 8000 is AMD’s first chipset designed for the Athlon 64 and Opteron families. Its architecture is substantially different from the North Bridge/South Bridge or hub-based architectures we are
familiar with from the chipsets designed to support Pentium II/III/4/Celeron and AMD Athlon/Athlon
XP/Duron processors.
The AMD-8000 chipset is often referred to as the AMD-8151 because the AMD-8151 provides the connection between the Athlon 64 or Opteron processor and the AGP video slot—the task usually performed by the North Bridge or MCH hub in other chipsets. The name of the North Bridge or MCH
hub chip is usually applied to the chipset. However, AMD refers to the AMD-8151 chip as the AGP
Graphics Tunnel chip because its only task is to provide a high-speed connection to the AGP slot on
the motherboard. The other components of the AMD-8000 chipset include the AMD-8111
HyperTransport I/O hub (South Bridge) and the AMD-8131 PCI-X Tunnel chip.
Due to delays in the development of the AMD-8151 AGP Graphics Tunnel chip, most vendors
through late 2003 used the AMD-8111 HyperTransport I/O hub alone or along with the AMD-8131
PCI-X Tunnel chip to provide a mixture of PCI and PCI-X slots on motherboards optimized as servers.
Some recent systems have incorporated the AMD-8151 chip to provide AGP video, but the AMD-8000
chipset continues to be used primarily as a workstation/server chipset instead of as a desktop chipset.
The AMD-8151 AGP Graphics tunnel has the following major features:
■ Supports AGP 2.0/3.0 (AGP 1x–8x) graphics cards
■ 16-bit up/down HyperTransport connection to the processor
■ 8-bit up/down HyperTransport connection to downstream chips
Following are the AMD-8111 HyperTransport I/O hub (South Bridge) chip’s major features:
■ PCI 2.2-compliant PCI bus (32-bit, 33MHz) for up to eight devices
■ AC’97 2.2 audio (six-channel)
■ Six USB 1.1/2.0 ports (three controllers)
■ Two ATA/IDE host adapters supporting up to ATA-133 speeds
■ Real-time clock (RTC)
■ LPC bus
■ Integrated 10/100 Ethernet
■ Eight-bit up/down HyperTransport connection to upstream chips
The AMD-8131 HyperTransport PCI-X tunnel chip’s major features include these:
■ Two PCI-X bridges (A and B) supporting up to five PCI bus masters each
■ PCI-X transfer rates up to 133MHz
AMD Athlon 64 Chipsets
Chapter 4
207
■ PCI 2.2 33MHz and 66MHz transfer rates
■ Independent operational modes and transfer rates for each bridge
■ Eight-bit up/down HyperTransport connection to upstream and downstream chips
Figure 4.26 shows the architecture of the AMD-8151 chipset for Athlon 64.
DDR333
AMD
Athlon 64
CPU
2.66GBps
16-bit HyperTransport
6.4GBps
AGP 8x
2.1GBps
AMD-8151
AGP
Tunnel
8-bit HyperTransport
800MBps
ATA/133
32-bit 33MHz PCI
AMD-8111
I/O
Hub
Ethernet
USB 2.0
AC ’97
LPC bus
Flash memory
Super I/O
Figure 4.26
Block diagram of the AMD 8000 chipset for Athlon 64.
AMD (Formerly ATI) Chipsets for Athlon 64, Sempron, Phenom
One of the expectations of AMD’s acquisition of ATI in 2006 was the release of AMD/ATI chipsets for
AMD processors. Since then, AMD has released several to support the Athlon 64, Sempron, and
Phenom processors. Tables 4.31, 32, 33, and 34 summarize the major features of these chipsets, and
Table 4.35 covers the corresponding South Bridge components.
While Intel chipsets are closely tailored to particular Intel processor families, AMD North Bridge and
South Bridge components can be mixed and matched. Thus, you may find motherboards based on
the same North Bridge component to have different features depending upon the South Bridge component used.
208
Chapter 4
Motherboards and Buses
AMD (ATI) 480X and 500-series Chipsets
The 480X, 570X (aka 550X) and 580X chipsets were the last chipsets developed by ATI before the
AMD takeover. All three can be used with the ATI-developed SB600, although the 480X can also be
paired with the ULi M1575 South Bridge. All chipsets in this family include some level of support for
ATI (now AMD) CrossFire dual-GPU rendering, but only the 580X supports both PCIe x16 slots running in x16 mode. See Table 4.31 for details.
When paired with the SB600, these chipsets include 7.1 High-Definition Audio, 10 USB 2.0 ports, one
PATA/133 port, and four SATA 3Gbps ports. The SATA ports can be operated in RAID 0, 1, 0+1 and
RAID 10 modes. See Table 4.35 for a comparison of AMD (ATI) South Bridge chips.
AMD 690 Series
AMD’s 690 series of chipsets includes the 690V and 690G. Both support integrated video, but the
690G offers faster integrated video with support for HDMI, dual-link DVI-D output, and support for
HDCP encryption for Blu-ray and HDTV playback. The 690V supports only VGA output. These
chipsets also use the SB600 South Bridge. See Table 4.31 for details.
Table 4.31 AMD/ATI 400, 500, and 600 Series Chipsets for Phenom, Athlon 64, and
Sempron Processors
Features
480X,
CrossFire
Xpress 1600
570X, 550X,
CrossFire
Xpress 3100
580X,
CrossFire
Xpress 3200
690V
690G
Code Name
RD480
RD570
RD580
RS690C
RS690
Date Introduced
Oct. 2006
June 2007
Oct. 2006
Feb. 2007
Feb. 2007
Supported CPUs
Athlon 64,
Sempron
Phenom, Athlon 64, Phenom, Athlon 64,
Sempron
Sempron
Athlon 64,
Sempron
Phenom, Athlon
64, Sempron
CPU FSB
1GTps (2GBps)
1GTps (2GBps)
1GTps (2GBps)
1GTps (2GBps)
1GTps (2GBps)
CrossFire Enabled
Yes, x8+x8
Yes, x16+x8
Yes, x16+x16
No
No
PCIe Version
1.0a
1.0a
1.0a
1.0a
1.0a
Total Number of
PCIe Lanes
20
26
36
20
20
Integrated Video
No
No
No
Yes
Yes
South Bridge
SB600;
ULi M1575
SB600
SB600
SB600
SB600
AMD Athlon 64 Chipsets
Chapter 4
209
AMD 700 Series Chipsets
The AMD 700 series of chipsets were in the process of development by ATI when ATI was absorbed
into AMD in late 2006, although the first models in the series were not released until late 2007. See
Table 4.32 to compare the features of these chipsets.
The 740 and 740G are the last AMD (ATI) chipsets to support PCIe version 1.0a; all others in the series
support PCIe version 2, which doubles the throughput of PCIe 1.x. The 740 and 740G are also the last
cards with 1GTps FSB; the remainder of the series features 2.6GTps FSB.
The 760G and 780G are the first chipsets to support CrossFire Hybrid, a variation of CrossFire which
enables integrated video to work in conjunction with a PCIe x16 video card for faster 3D rendering
and gaming; the 785G, the last chipset in the series, also supports CrossFire Hybrid. The 790GX supports both CrossFire Hybrid and CrossFire X for faster 3D rendering and gaming. The 770 and higher
models introduced AMD OverDrive, which enables the user to perform overclocking, memory tuning,
and system monitoring tasks from the Windows desktop without restarting the computer.
The high-performance 790FX is the first AMD chipset to support quad CrossFire X (up to four PCIe
video cards in x8 mode) as well as dual x16 operation.
While some members of the series can use the SB600 South Bridge, AMD introduced a new series of
South Bridge chips in the 700 series for use with the 700 series North Bridge chips. The SB700 series
includes support for SATA 3Gbps devices, eSATA support, RAID support (0, 1, 10 modes) up to twelve
USB 2.0 ports, two USB 1.1 ports, and some also include integrated Super I/O and RAID 5 support. See
Table 4.35 for details.
AMD’s 800 series chipsets are designed for use with Socket AM3 processors such as the Phenom II,
Athlon II, and some models of the Sempron. In addition to supporting newer processors, the 800
series also includes models with support for CrossFire Hybrid (880G and 890GX), two card CrossFire X
(890GX and 890FX), and up to four card CrossFire X (890FX). All chipsets in the 800 series include
PCIe 2.0 and a 2.6GTps FSB. See Table 4.33 for details.
The 800 series also includes two new South Bridge chips, the SB810 and SB850. These chipsets are the
first AMD South Bridge chips to eliminate support for the venerable PATA interface, but include support for up to six SATA ports with RAID support, include Gigabit SATA, and HD audio. The 800 series
also includes two PCIe 2.0 lanes (2 x1 or 1 x2). See Table 4.35 for details.
210
Chapter 4
Table 4.32
Motherboards and Buses
AMD/ATI 700 Series Chipsets for Phenom, Athlon 64, and Sempron Processors
Features
740
740G
760G
770
Code Name
RX740
Date Introduced
2008
RS740
RS780L
RX780
2008
2009
Supported CPUs
Phenom,
Athlon 64,
Sempron
Nov. 2007
Phenom,
Athlon 64,
Sempron
Phenom,
Athlon 64,
Sempron
Phenom,
Athlon 64,
Sempron
CPU FSB
1GTps
(2GBps)
1GTps
(2GBps)
2.6GTps
(5.2GBps)
2.6GTps
(5.2GBps)
CrossFire Enabled
No
No
Hybrid
No
OverDrive Enabled
No
No
No
Yes
PCIe Version
1.0a
1.0a
2.0
2.0
Total Number of PCIe Lanes
20
20
20
22
Integrated Video
No
Yes
Yes
No
South Bridge
SB600, SB700,
SB750
SB600, SB700,
SB710, SB750
SB600, SB700,
SB710 SB750
SB700, SB710,
SB750
Hybrid – uses PCIe x16 video card in conjunction with integrated graphics for faster 3D rendering.
OverDrive – user-adjustable overclocking, memory tuning, and system monitoring without restarting the computer
Table 4.33
AMD/ATI 800 Series Chipsets for Phenom II, Athlon II, and Sempron Processors
Features
870
880G
890GX
890FX
Code Name
RX880
RS880
RS880D
RD890
Date Introduced
2009
2009
2009
2009
Supported CPUs
Phenom II,
Athlon II, Sempron
Phenom II,
Athlon II, Sempron
Phenom II,
Athlon II, Sempron
Phenom II,
Athlon II, Sempron
CPU FSB
2.6GTps (5.2GBps)
2.6GTps (5.2GBps)
2.6GTps (5.2GBps)
2.6GTps (5.2GBps)
CrossFire Enabled
No
Hybrid
Yes, x8+x8 or Hybrid
Yes, x8+x8+8x+8x or x16+x16
PCIe Version
2.0
2.0
2.0
2.0
Total Number of
PCIe Lanes (NB)
22
22
22
38
Integrated Video
No
Yes
Yes
No
South Bridge
SB600, SB700,
SB750
SB600, SB750
SB710, SB750,
SB810, SB850
SB710, SB750, SB810,
SB850
AMD Athlon 64 Chipsets
Chapter 4
211
780G
780V
790GX
790X
790FX
785G
RS780
RS780C
RS780D
RD780
RD790
RS880
2008
2008
2008
Nov. 2007
Nov. 2007
2009
Phenom,
Athlon 64,
Sempron
Phenom,
Athlon 64,
Sempron
Phenom,
Athlon 64,
Sempron
Phenom,
Athlon 64,
Sempron
Phenom,
Athlon 64,
Sempron
Phenom,
Athlon 64,
Sempron
2.6GTps
(5.2GBps)
2.6GTps
(5.2GBps)
2.6GTps
(5.2GBps)
2.6GTps
(5.2GBps)
2.6GTps
(5.2GBps)
4GTps
(8GBps)
Hybrid
No
Yes, x8+x 8
and Hybrid
Yes, x8+x8
Yes, x8+x8+x8+x8
or x16+x16
Hybrid
Yes
Yes
Yes
Yes
Yes
Yes
2.0
2.0
2.0
2.0
2.0
2.0
22
22
22
22
38
22
Yes
Yes
Yes
No
No
Yes
SB750
SB750
SB600, SB700,
SB750
SB600, SB750
SB710, SB750,
SB810, SB850
SB710, SB750,
SB810, SB850
AMD 900 Series Chipsets
AMD’s newest chipsets, the 900 series, are designed to support the new FX “Bulldozer” processors that
use the new AM3+ processor socket. These chipsets can also support Socket AM3 processors when a
suitable BIOS is installed.
All 900-series chipsets use the latest HyperTransport version 3.1 interconnect to achieve a FSB speed of
3.2GTps, and the first three chipsets in the series (see Table 4.34) support various levels of ATI
CrossFire X and NVIDIA SLI for multi-GPU 3D gaming and rendering. See Table 4.34 for details.
The SB920 and SB950 South Bridge chips include support for up to six SATA 6Gbps devices, RAID, HD
Audio, and four PCIe x1 slots. See Table 4.35 for details.
Figure 4.27 illustrates the 990FX chipset’s block diagram
Table 4.34 AMD 900 Series Chipsets for “Bulldozer,” Phenom II, Athlon II, and
Sempron Processors
Features
970
990X
990FX
Code Name
RD970
RD990
RD990
Date Introduced
2011
2011
2011
Supported CPUs
“Bulldozer” FX, Phenom,
Phenom II, Athlon II, Athlon
“Bulldozer” FX, Phenom,
Phenom II, Athlon II, Athlon
“Bulldozer” FX, Phenom,
Phenom II, Athlon II, Athlon
CPU FSB
3.2GTps (6.4GBps)
3.2GTps (6.4GBps)
3.2GTps (6.4GBps)
CrossFire Enabled
No*
Yes, x8+x8
Yes, x8+x8+8x+8x or x16+x16
PCIe Version
2.0
2.0
2.0
Total Number of
PCIe Lanes (NB)
22
22
42
Integrated Video
No
No
No
South Bridge
SB920, SB950
SB920, SB950
SB920, SB950
*Some motherboard makers configure system with two PCIe slots running in x8 mode for CrossFire X and SLI support
212
Chapter 4
Motherboards and Buses
AMD PhenomTM II
RAM DDR3 1888 ch01
AMD 990FX
Chipset
RAM DDR3 1888 ch02
HyperTransport
3.0
x16 PCIe 2.0
AMD
6 x 1 PCIe 2.0
CrossFire X Ready
990FX
x16 PCIe 2.0
A-Link Express III
2GBps
Integrated clock generator
4 x 1 PCIe 2.0
14 USB 2.0;
2 USB 1.1
HD audio
AMD
Gigabit Ethernet MAC
BIOS support
up to 16GB RAM
SB850
LPC/SPI
External PHY
6 SATA/eSATA
6GBps
OverDrive
overclocking support
AMD RAID
0,1,5,10
Consumer IR
PCI
Figure 4.27 Block diagram of the AMD 990FX chipset for Socket AM3+ “Bulldozer,” Phenom II, Athlon II,
and Athlon processors.
Table 4.35
AMD/ATI Chipset South Bridge Components
Features
SB600
SB700
SB710
SB750
SB810
SB850
SB920
SB950
Date Introduced
2006
2007
2008
2008
2010
2010
2011
2011
SATA Ports
4 drives,
3Gbps
6 drives,
3Gbps
6 drives,
3Gbps
6 drives,
3Gbps
6 drives,
3Gbps
6 drives,
6Gbps
6 drives,
6Gbps
6 drives,
6Gbps
USB 2.0 Ports
10
12
12
12
14
14
14
14
USB 1.1 Ports
—
2
2
2
2
2
2
2
Audio Support
HD Audio
HD Audio
HD Audio
HD Audio HD Audio
HD Audio
HD Audio
HD Audio
PATA Support
2 drives,
133MBps
2 drives,
133MBps
2 drives,
133MBps
2 drives,
133MBps
2 drives,
133MBps
–
–
Integrated Super I/O No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
PCIe 2.0 interface
No
No
No
No
Yes (2 x1
or 1 x2)
Yes (2 x1
or 1 x2)
Yes (4 x1)
Yes (4 x1)
Integrated Ethernet
No
No
No
No
Gigabit
Gigabit
Gigabit
Gigabit
RAID Support
RAID 0,
1, 0+1
RAID 0,
1, 0+1
RAID 0,
1, 0+1
RAID 0,
1, 0+1, 5
RAID 0,
1, 10
RAID 0,
1, 10, 5
RAID 0,
1, 10
RAID 0,
1, 10, 5
2 drives,
133MBps
AMD Athlon 64 Chipsets
Chapter 4
213
Third-Party Chipsets for AMD Processors
Thanks to AMD’s encouragement of third-party chipset development for its Athlon and later processor
series, a number of chipset vendors developed chipsets for AMD processors, most notably VIA, SiS,
and NVIDIA. Although NVIDIA is the only one of these still producing chipsets for AMD processors,
many motherboards still in use are based on VIA and SiS chipsets.
VIA Chipsets
Until recently, VIA Technologies, Inc., was the largest chipset and processor supplier outside of Intel
and AMD. Originally founded in 1987, VIA is based in Taipei, Taiwan, and is the largest integrated circuit design firm on the island. VIA is a fabless company, which means it farms out the manufacturing
to other companies with chip foundry capability.
To learn more about VIA’s chipsets for AMD processors, see “VIA Chipsets for AMD” and “VIA
Chipsets for Athlon 64” in Chapter 4, “Motherboards and Buses,” of Upgrading and Repairing PCs, 19th
edition, included in its entirety on the DVD packaged with this book.
SiS Chipsets
SiS has produced a variety of chipsets for the Athlon, Duron, Athlon XP and Athlon 64 processors,
some of which use a single-chip design and others of which use a high-speed two-chip design similar
to other vendors’ chipsets.
For more information, see “SiS Chipsets for AMD” and “SiS Chipsets for Athlon 64” in Chapter 4,
“Motherboards and Buses,” of Upgrading and Repairing PCs, 19th edition, included in its entirety on the
DVD packaged with this book.
NVIDIA Chipsets
NVIDIA, although best known for its popular GeForce line of graphics chipsets, also became a popular
vendor of chipsets for the AMD Athlon/Duron/Athlon XP processor family thanks to its nForce product families. The original nForce was a descendant of the custom chipset NVIDIA created for the
Microsoft Xbox console game system. For more information about nForce and nForce 2, see “NVIDIA
nForce Chipsets for AMD.” For more information about nForce 3 and nForce 4 chipsets, see “NVIDIA
Chipsets for Athlon 64.” Both are found in Chapter 4, “Motherboards and Buses,” of Upgrading and
Repairing PCs, 19th edition, included in its entirety on the DVD packaged with this book.
Currently, nVIDIA offers nForce chipsets for AMD 64-bit processors in the following families: nForce
500, nForce 600, nForce 700, and nForce 900; the GeForce chipsets with integrated graphics for AMD
64-bit processors are in the GeForce 6 series, GeForce 7 series, and GeForce 8 series.
The nForce 500 series supports AMD processors using the AM2 socket such as the Athlon 64 X2,
Athlon 64, and Sempron models based on the Athlon 64. Models labeled SLI support two-way or
three-way SLI, and all models include support for PATA and SATA hard disks (most support 3Gbps),
RAID, and integrated audio (AC97 or HD audio, depending upon the individual model). Fast or
Gigabit Ethernet support varies with chipset model. For details, see http://www.nvidia.com/page/
nforce5_amd.html.
The nForce 600 series for AMD includes one chipset, the 680a, which supports Athlon 64 FX processors in Socket L1/1207. the 680a includes dual PCIe x16 slots, a PCIe x8 slot, and up to eight PCIe x1
slots. It supports 12 SATA 3Gbps devices and four PATA devices, and RAID. It includes HD audio, 20
USB ports, and four Gigabit Ethernet ports. For details, see http://www.nvidia.com/page/nforce_
600a.html.
214
Chapter 4
Motherboards and Buses
The nForce 700 series for AMD includes six chipsets, the 720D, 720a, 730a, 740a SLI, 750a SLI, and the
780a SLI. These chipsets include support for PCIe 2.0, SATA and PATA drives including RAID, 12 USB 2.0
ports, and Gigabit Ethernet. For more information about processors supported, PCIe slots, and RAID
configurations, see http://www.nvidia.com/docs/IO/35382/LC_motherboard_AMD_Nov08_web.pdf
The nForce 900 series for AMD currently includes one chipset, the 980a SLI, supporting processors in
Sockets AM2, AM2+, and AM3, including Phenom, Phenom II, Athlon X2, and Athlon. It supports
PCIe version 2, has 35 PCIe lanes, and can support three-way SLI. For more information, see
http://www.nvidia.com/object/product_nforce_980a_sli_us.html.
NVIDIA also supports SLI on AMD’s 900-series chipsets.
Super I/O Chips
A third major chip once seen on many PC motherboards is called the Super I/O chip. This is a chip
that integrates devices formerly found on separate expansion cards in older systems. Newer motherboards lacking legacy ports have little need for Super I/O chips, and features they once included such
as the CMOS RAM are usually integrated into the South Bridge chipset component.
In most late-model chipsets, the South Bridge chip now includes the functionality of Super I/O chips
as well as providing support for the ports that have replaced the legacy ports incorporated into Super
I/O chips, such as USB, SATA, and IEEE-1394.
For more information about Super I/O chips, see “Super I/O Chips” in Chapter 4, “Motherboards and
Buses,” of Upgrading and Repairing PCs, 19th edition, included in its entirety on the DVD packaged with
this book.
Motherboard Connectors
A modern motherboard contains a variety of connectors. Figure 4.28 shows the connector locations
on a typical motherboard. Several of these connectors, such as power supply connectors, serial and
parallel ports, and keyboard/mouse connectors, are covered in other chapters.
This section has figures and tables showing the configurations and pinouts of most of the other interface and I/O connectors you will find.
◊◊
See “AT/LPX Power Supply Connectors,” p. 857 (Chapter 18).
◊◊
See “Serial Ports,” p. 719, and “Parallel Ports,” p. 723 (Chapter 14, “External I/O Interfaces”).
◊◊
See “Keyboard/Mouse Interface Connectors,” p. 742 (Chapter 15).
◊◊
See “Universal Serial Bus (USB),” p. 692 (Chapter 14).
◊◊
See “An Overview of the IDE Interface,” p. 367 (Chapter 7, “The ATA/IDE Interface”).
One of the biggest problems many people overlook when building and upgrading systems is the front
panel connections. Connectors that don’t match between the motherboard and chassis are one of the
small but frustrating things that can be problematic in an otherwise smooth upgrade or system build.
Having dependable standards for these connections would help, but unfortunately no official standard for the front panel connectors existed until October 2000, when Intel published the “Front Panel
I/O Connectivity Design Guide.” You can find the latest version of this guide, along with the motherboard form factor specifications, at www.formfactors.org.
Before this standard was published, no official standard existed, and anarchy ruled. In addition, even
though most chassis gave you individual tiny connectors for each function, some of the bigger system
builders (for example, Dell, Gateway, and others) began using specialized inline or dual-row header
connectors so they could build systems more quickly and efficiently. Coincidentally, most of those
vendors used Intel boards, hence Intel’s development of a standard.
Motherboard Connectors
PCI-Express
x1 slots
Chapter 4
215
Power supply
fan header
Additional power
for video card
(optional)
PCI 32-bit
33MHz slots
PCI-Express PCI-Express
x16 slot
x16 video
card slot
Onboard audio connectors
IEEE-1394a header
ATX12V power connector
Processor socket
Chassis fan header
USB headers
CPU fan header
DIMM memory sockets
Serial (COM) port header
Game port header
Front panel headers
SATA and SATA
RAID host adapters
Figure 4.28
ATA/IDE
host adapters
Floppy disk
ATX 2.x 24-pin
drive controller power connector
Typical motherboard connectors.
The front panel guide details a 10-pin keyed header connector for the main front panel switch/LED
functions, as well as a 10-pin keyed USB header, a 10-pin keyed IEEE 1394 (FireWire/i.LINK) header, a
10-pin keyed audio header, and a 6-pin keyed IR header. The pinouts and configurations of these and
other motherboard-based connectors are shown in the following figures and tables. Figure 4.29 details
the front panel switch/LED header connector.
Single-color
Power LED
Hard Drive
Activity LED
+
1
2
+
-
-
3
4
-
+
5
6
7
8
Reset
Switch
Power
(+5V DC)
Figure 4.29
Dual-color
Power LED
9
Front panel switch/LED header connector.
Power
Switch
Key (no pin)
216
Chapter 4
Motherboards and Buses
The pinout of the standard front panel switch/LED connector is shown in Table 4.36.
Table 4.36
Signal
Front Panel Switch/LED Connector Pinout
Description
Pin
Pin
Hard Disk Activity LED
Signal
Description
Power/Sleep/Message LED
HD_LED+
Hard disk LED+
1
2
PWR_LED GRN+
Single-color LED+
HD_LED-
Hard disk LED-
3
4
PWR_LED_YEL+
Dual- color LED+
Reset Button
GND
FP_RESET
Power On/Off Button
Ground
5
6
Reset switch
7
8
Power
+5V
FP_PWR
Power switch
GND
Ground
Not Connected
Power
9
10
N/C
Not connected
Some chassis provide a single 10-pin header connector for the front panel switch/LED connections,
but most provide individual 2-pin connectors for the various functions. If 2-pin connectors are used,
they are connected as shown in Figure 4.30. Note that you can easily replace the multiple 2-pin connectors with a single 10-pin connector; some chassis even include an adapter for this purpose.
C
9
9
1
10
2
D
Figure 4.30
A
B
10
1
2
Standard front panel switch/LED connections using 2-pin connectors.
The 2-pin connections to a standard 10-pin front panel switch/LED connector are shown in Table 4.37.
Table 4.37 Front Panel Switch/LED Connections Using Multiple Connectors
Connector
Pins
Description
A
1 and 3
Hard disk activity LED
B
2 and 4
Power LED
C
5 and 7
Reset switch
D
6 and 8
Power switch
A chassis can use either a single-color or dual-color LED for the Power LED function. A dual-color LED
can provide more information about the various power and message states the system might be in,
including power on/off, sleep, and message-waiting indications. Table 4.38 shows the possible states
and meanings for both single- and dual-color power LEDs.
Chapter 4
Motherboard Connectors
Table 4.38
217
Power LED Indications
LED Type
LED State
Description
ACPI State
Single-color
Off
Steady green
Blinking green
Power off or sleeping
Running
Running, message waiting
S1, S3, S5
S0
S0
Dual-color
Off
Steady green
Blinking green
Steady yellow
Blinking yellow
Power off
Running
Running, message waiting
Sleeping
Sleeping, message waiting
S5
S0
S0
S1, S3
S1, S3
Many motherboards do not follow the industry-standard guidelines for front panel switch/LED connections, and many use alternative designs, one of which is shown in Figure 4.31.
HD LED
HD LED+
HD LED-
PLED+
Power LED
PLED-
Figure 4.31
Power
Switch
PWR
Ground
Reset SW
Reset
Ground
+5V
Ground
Ground
Speaker
Speaker
Connector
Alternative front panel switch/LED connector configuration.
SPKR
PIEZO_IN
Key
GND
FP_RESET
GND
Key
PWR_LED1
Key
PWR_LED2
Key
HD_LED+
HD_LEDKey
HD_LED+
Key
+5V
Ir_TX
GND
Ir_RX
Key
+5V
Key
GND
SLEEP_REQ
GND
SW_ON
Some of Intel’s older motherboards, as well as those made by other motherboard manufacturers, used
a single-row pin header connector for the front panel connections, as shown in Figure 4.32.
27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Figure 4.32
Alternative single-row front panel connector configuration.
Table 4.39 shows the designations for the front panel motherboard connectors used on some
motherboards.
Table 4.39
Alternative Single-Row Front Panel Connector Pinout
Connector
Pin
Signal Name
Speaker
27
26
25
24
SPKR
PIEZO_IN
Key (no pin)
GND
Reset
23
22
FP_RESET
GND
None
21
Key (no pin)
218
Chapter 4
Table 4.39
Motherboards and Buses
Continued
Connector
Pin
Signal Name
Sleep/Power LED
20
19
18
PWR_LED1 (green)
Key (no pin)
PWR_LED2 (yellow)
None
17
Key (no pin)
Hard Drive LED
16
15
14
13
HD_LED+
HD_LEDKey (no pin)
HD_LED+
None
12
Key (no pin)
IrDA
11
10
9
8
7
6
+5V
Ir_TX
GND
Ir_RX
Key (no pin)
+5V
None
5
Key (no pin)
Sleep/Resume
4
3
GND
SLEEP_REQ
Power On
2
1
GND
SW_ON
To adapt the connectors in your chassis to those on your motherboard, in some cases you need to change
the connector ends by removing the terminals and reinserting them into different positions. For example,
I had a chassis that used a 3-pin power LED connection, whereas the motherboard had only a 2-pin connection. I had to remove one of the terminals, reinsert it into the middle position on the 3-pin connector,
and then plug the connector into the motherboard so that two pins were mated and the third empty
position was hanging off the end of the connector. Fortunately, the terminals are easy to remove merely
by lifting a latch on the side of the connector and then sliding the terminal and wire back out. When the
terminal is inserted, the latch automatically grabs the terminal and locks it into position.
Most motherboards include USB connectors (also called USB headers), which are designed to be connected to front-mounted or rear bracket USB connectors in the chassis. The standard uses a single 10pin keyed connector to provide two USB connections. The pinout of a standard dual USB
motherboard header connector is shown in Figure 4.33 and Table 4.40.
Power
(+5V DC)
1
2
Power
(+5V DC)
D-
3
4
D-
D+
5
6
D+
Ground
7
8
Ground
10
No Connect
USB 0
USB 1
Key (no pin)
Figure 4.33
Dual-USB header connector configuration.
Motherboard Connectors
Table 4.40
Chapter 4
219
USB Header Connector Pinout
Description
Signal Names
Pin
Pin
Signal Names
Description
Port 0 +5V
Port 0 Data-
USB0_PWR
1
2
USB1_PWR
Port 1 +5V
USB_D0-
3
4
USB_D1-
Port 1 Data-
Port 0 Data+
USB_D0+
5
6
USB_D1+
Port 1 Data+
Port 0 Ground
GND
7
8
GND
Port 1 Ground
No pin
Key
9
10
NC/Shield
No Connect/Shield
Many chassis include multiple inline connectors for the dual USB–to–front panel or rear bracket connection, instead of a single keyed connector. An example of this is shown in Figure 4.34.
Using the multiple individual connectors shown in the previous figure, you would have to plug each
connector into the proper pin. Some internal chassis USB cables use two 5-pin inline connectors, in
which case you just need to ensure that you don’t put them on backward. Consult your motherboard
and chassis manual for more information if you are unsure about your particular connections.
Caution
If your chassis uses multiple individual nonkeyed connections, you must be sure to connect them properly to the connector
on the motherboard. If you connect them improperly, you can cause a short circuit to occur that can damage the motherboard or any USB peripherals you plug into the front panel connectors. Higher-quality motherboards usually have selfhealing fuses on the power signals, which can prevent damage if such a situation occurs.
2
+5V
2 D
2 +D
2 GROUND
1 +5V
1 +D
1 -D
LD
SHIE
UND
RO
1 G
Figure 4.34
Front panel USB cable using multiple individual nonkeyed connectors.
Although IEEE 1394 (FireWire/i.LINK) is not present on all motherboards, many mid-range and highend boards do incorporate this feature or offer it as an option. You can also add FireWire via an
expansion card, and many of the cards have header connectors for front panel or rear bracket connections similar to that found on a motherboard. Figure 4.35 and Table 4.41 show the pinout of the
industry-standard FireWire header connector.
220
Chapter 4
Motherboards and Buses
TPA+
1
2
TPA-
Ground
3
4
Ground
TPB+
5
6
TPB-
Power
(+12V DC)
7
8
Power
(+12V DC)
10
Ground
Key (no pin)
Figure 4.35
IEEE 1394 (FireWire/i.LINK) header connector configuration.
Table 4.41 IEEE 1394 (FireWire/i.LINK) Connector Pinout
Pin
Signal Name
Pin
Signal Name
TPA+
1
2
TPA-
Ground
3
4
Ground
TPB+
5
6
TPB-
+12V (Fused)
7
8
+12V (Fused)
Key (no pin)
9
10
Ground
Note that the FireWire header connector has the same physical configuration and keying as a USB
connector. This is unfortunate because it enables a USB front panel cable to be plugged into a
FireWire connector, and vice versa. Either situation could cause a short circuit.
Caution
You must not plug a USB cable into a FireWire header connector or a FireWire cable into a USB header connector.
Doing so causes a short circuit that can damage the motherboard, as well as any peripherals you plug into the front panel
connectors. Higher-quality motherboards usually have self-healing fuses on the power signals, which can prevent damage
if such a situation occurs.
Motherboards that have integrated audio hardware usually feature a front panel audio header connector. The pinout of the industry-standard front panel audio header connector is shown in Figure 4.36
and Table 4.42.
9
9
1
10
2
10
Figure 4.36
Front panel audio header connector configuration.
1
2
Motherboard Connectors
Table 4.42
Chapter 4
221
Front Panel Audio Connector Pinout
Description
Signal Name
Pin
Pin
Signal Name
Description
Microphone input
AUD_MIC
1
2
AUD_GND
Analog audio ground
Microphone power
AUD_MIC_BIAS
3
4
AUD_VCC
Filtered +5V for
analog audio
Right channel audio
AUD_FPOUT_R
5
6
AUD_RET_R
Right channel return
Ground or headphone
GND/HP_ON
7
8
KEY
No pin amplifier control
Left channel audio
AUD_FPOUT_L
9
10
AUD_RET_L
Left channel return
Some motherboards include an infrared data connector that connects to an infrared optical transceiver on the chassis front panel. This enables communication via infrared with cell phones, PDAs,
laptops, printers, or other IrDA devices. The industry-standard pinout for IrDA connections on a
motherboard is shown in Figure 4.37 and Table 4.43.
5
5
1
6
2
1
6
2
Figure 4.37
Infrared data front panel header connector configuration.
Table 4.43
Infrared Data Front Panel Connector Pinout
Description
Signal
Pin
Pin
Signal
Description
No connect
NC
1
2
Key
No pin
IR_power
+5V
3
4
GND
Ground
IrDA serial output
IR_TX
5
6
IR_RX
IrDA serial input
Other miscellaneous connectors might appear on motherboards; several are shown in Tables
4.44–4.52.
Table 4.44
Battery Connector
Pin
Signal
Pin
Signal
1
Gnd
3
KEY
2
Unused
4
+4 to 6V
222
Chapter 4
Table 4.45
Motherboards and Buses
LED and Keylock Connector
Pin
Signal
1
LED Power (+5V)
4
Keyboard Inhibit
2
KEY
5
Gnd
3
Gnd
Table 4.46
Pin
Signal
Speaker Connector
Pin
Signal
Pin
Signal
1
Ground
3
Board-Mounted Speaker
2
KEY
4
Speaker Output
Table 4.47
Pin
Chassis Intrusion (Security) Pin-Header
Signal Name
1
Ground
2
CHS_SEC
Table 4.48 Wake on LAN Pin-Header
Pin
Signal Name
1
+5 VSB
2
Ground
3
WOL
Table 4.49 Wake on Ring Pin-Header
Pin
Signal Name
1
Ground
2
RINGA
Table 4.50 CD Audio Connector
Pin
Signal Name
Pin
Signal Name
1
CD_IN-Left
3
Ground
2
Ground
4
CD_IN-Right
System Bus Types, Functions, and Features
Chapter 4
223
Table 4.51 Telephony Connector
Pin
Signal Name
Pin
Signal Name
1
Audio Out (monaural)
3
Ground
2
Ground
4
Audio In (monaural)
Table 4.52 ATAPI-Style Line In Connector
Pin
Signal Name
Pin
Signal Name
1
Left Line In
3
Ground
2
Ground
4
Right Line In (monaural)
Note
Some boards have a board-mounted piezo speaker. It is enabled by placing a jumper over pins 3 and 4, routing the
speaker output to the board-mounted speaker. Removing the jumper enables a conventional speaker to be plugged in.
Most modern motherboards have three or four fan connectors for use with the processor fan, rear
chassis fan, front chassis fan, and voltage regulator (power) fan (see Table 4.53). They generally use
the same 3-pin connector, with the third pin providing a tachometer signal for optional speed monitoring. If the motherboard is capable of monitoring the fan speed, it can sound an alarm when the
fans begin to slow down due to bearing failure or wear. The alarm sound can vary, but it normally
comes from the internal speaker and might be an ambulance siren–type sound.
Table 4.53
Fan Power Connectors
Pin
Signal Name
1
Ground
2
+12V
3
Sense tachometer
Caution
Do not place a jumper on this connector; serious board damage will result if the 12V is shorted to ground.
System Bus Types, Functions, and Features
The heart of any motherboard is the various buses that carry signals between the components. A bus
is a common pathway across which data can travel within a computer. This pathway is used for communication and can be established between two or more computer elements.
The PC has a hierarchy of different buses. Most modern PCs have at least three buses; some have four
or more. They are hierarchical because each slower bus is connected to the faster one above it. Each
device in the system is connected to one of the buses, and some devices (primarily the chipset) act as
bridges between the various buses.
The main buses in a modern system are as follows:
224
Chapter 4
Motherboards and Buses
■ Processor bus—Also called the FSB, this is the highest-speed bus in the system and is at the
core of the chipset and motherboard. This bus is used primarily by the processor to pass information to and from cache or main memory and the North Bridge of the chipset. This is generally the fastest bus in the system, and the speed and width depend on the specific processor and
chipset combination.
■ AGP bus—This is a 32-bit bus designed specifically for a video card. It runs at 66MHz (AGP
1x), 133MHz (AGP 2x), 266MHz (AGP 4x), or 533MHz (AGP 8x), which allows for a bandwidth
of up to 2,133MBps. It is connected to the North Bridge or Memory Controller Hub of the
chipset and is manifested as a single AGP slot in systems that support it. Current systems have
phased out AGP slots in favor of PCI Express.
■ PCI Express—The PCI Express (PCIe) bus is a third-generation development of the PCI bus
that began to appear in mid-2004. PCI Express is a differential signaling bus that can be generated by either the North Bridge or South Bridge. The speed of PCI Express is described in terms
of lanes. Each bidirectional dual-simplex lane provides a 2.5Gbps or 5Gbps (PCIe version 2)
transfer rate in each direction (250MBps or 500MBps effective speed). PCI Express video cards
generally use the x16 slot, which provides 4,000MBps or 8,000MBps in each direction. Most
chipsets released after 2008 include PCIe version 2.0.
■ PCI bus—This is usually a 33MHz 32-bit bus found in virtually all systems since the days of the
Intel 486 CPU. Some newer systems include an optional 66MHz 64-bit version (mostly workstations or server-class systems). This bus is generated by either the chipset North Bridge in
North/South Bridge chipsets or the I/O Controller Hub in chipsets using hub architecture. This
bus is manifested in the system as a collection of 32-bit slots, normally white in color and numbering from one to three on most motherboards. Peripherals, such as SCSI adapters, network
cards, video cards, and more, can be plugged into PCI bus slots. PCI Express is a faster development of the PCI bus.
■ ISA bus—This is an 8MHz 16-bit bus that has disappeared from modern systems after appearing in the original PC in 8-bit, 5MHz form and in the 1984 IBM AT in full 16-bit 8MHz form. It
is a slow-speed bus, but it was ideal for certain slow-speed or older peripherals. It has been used
in the past for plug-in modems, sound cards, and various other low-speed peripherals. The ISA
bus is created by the South Bridge part of the motherboard chipset, which acts as the ISA bus
controller and the interface between the ISA bus and the faster PCI bus above it. The Super I/O
chip usually was connected to the ISA bus on systems that included ISA slots.
Some older motherboards feature a special connector called an Audio Modem Riser (AMR) or a
Communications and Networking Riser (CNR). These are dedicated connectors for cards that are specific
to the motherboard design to offer communications and networking options. They are not designed
to be general-purpose bus interfaces, and few cards for these connectors are offered on the open market. Usually, they’re offered only as an option with a given motherboard. They are designed such that
a motherboard manufacturer can easily offer its boards in versions with and without communications
options, without having to reserve space on the board for optional chips. Normal network and
modem options offered publicly, for the most part, are still PCI based because the AMR/CNR connection is somewhat motherboard specific. Figure 4.38 compares these connectors. Current motherboards
have largely abandoned AMR and CNR slots.
Several hidden buses exist on modern motherboards—buses that don’t manifest themselves in visible
slots or connectors. I’m talking about buses designed to interface chipset components, such as the
Hub Interface, the HyperTransport interface and the LPC bus. The Hub Interface is a quad-clocked
(4x) 66MHz 8-bit bus that carries data between the MCH and ICH in hub architecture chipsets made
by Intel. It operates at a bandwidth of 266MBps and was designed as a chipset component connection
that is faster than PCI yet uses fewer signals for a lower-cost design. Some recent workstation/server
chipsets and the latest 9-series desktop computer chipsets from Intel use faster versions of the hub
interface. The most recent chipsets from major third-party vendors also bypass the PCI bus with direct
high-speed connections, the most common of which is HyperTransport, between chipset components.
System Bus Types, Functions, and Features
Chapter 4
225
CNR slot
PCI slots
AMR slot
Figure 4.38 The AMR slot (top left) and CNR slot (top center) compared to PCI slots. When the AMR slot
is used, the PCI slot paired with it cannot be used.
√√
See “Traditional North-South Bridge Architecture,” p. 174 (this chapter).
In a similar fashion, the LPC bus is a 4-bit bus that has a maximum bandwidth of 16.67MBps; it was
designed as an economical onboard replacement for the ISA bus. In systems that use LPC, it typically
connects Super I/O chip or motherboard ROM BIOS components to the main chipset. LPC is faster
than ISA yet uses far fewer pins and enables ISA to be eliminated from the board entirely.
The system chipset is the conductor that controls the orchestra of system components, enabling each
to have its turn on its respective buses. Table 4.54 shows the widths, speeds, data cycles, and overall
bandwidth of virtually all PC buses in use today.
For performance information about the performance of older bus types such as ISA, EISA, VL-BUS,
and MCA, see Table 4.71 in Chapter 4, “Motherboards and Buses,” in Upgrading and Repairing PCs, 19th
edition, available in its entirety on the DVD packaged with this book.
Table 4.54
Interfaces
Bandwidth (in MBps) and Detailed Comparison of Most PC Buses and
Bus Type
Bus Width
(Bits)
Bus
Speed (MHz)
DataCycles
per Clock
Bandwidth
(MBps)
PC-Card (PCMCIA)
16
10
1
20
CardBus
32
33
1
133
PCI
32
33
1
133
PCI 66MHz
32
66
1
266
PCI 64-bit
64
33
1
266
PCI 66MHz/64-bit
64
66
1
533
PCI-X 66
64
66
1
533
PCI-X 133
64
133
1
1,066
PCI-X 266
64
266
1
2,133
PCI-X 533
64
533
1
4,266
PCI Express 1.x
1
2,500
0.8
250
PCI Express 1.x
16
2,500
0.8
4,000
PCI Express 1.x
32
2,500
0.8
8,000
226
Chapter 4
Table 4.54
Motherboards and Buses
Continued
Bus Type
Bus Width
(Bits)
Bus
Speed (MHz)
DataCycles
per Clock
Bandwidth
(MBps)
PCI Express 2.x
1
5,000
0.8
500
PCI Express 2.x
16
5,000
0.8
8,000
PCI Express 2.x
32
5,000
0.8
16,000
Intel Hub Interface 8-bit
8
66
4
266
Intel Hub Interface 16-bit
16
66
4
533
AMD HyperTransport 2x2
2
200
2
100
AMD HyperTransport 4x2
4
200
2
200
AMD HyperTransport 8x2
8
200
2
400
AMD HyperTransport 16x2
16
200
2
800
AMD HyperTransport 32x2
32
200
2
1,600
AMD HyperTransport 2x4
2
400
2
200
AMD HyperTransport 4x4
4
400
2
400
AMD HyperTransport 8x4
8
400
2
800
AMD HyperTransport 16x4
16
400
2
1,600
AMD HyperTransport 32x4
32
400
2
3,200
AMD HyperTransport 2x8
2
800
2
400
AMD HyperTransport 4x8
4
800
2
800
AMD HyperTransport 8x8
8
800
2
1,600
AMD HyperTransport 16x8
16
800
2
3,200
AMD HyperTransport 32x8
32
800
2
6,400
ATI A-Link
16
66
2
266
SiS MuTIOL
16
133
2
533
SiS MuTIOL 1G
16
266
2
1,066
VIA V-Link 4x
8
66
4
266
VIA V-Link 8x
8
66
8
533
AGP
32
66
1
266
AGP 2X
32
66
2
533
AGP 4X
32
66
4
1,066
AGP 8X
32
66
8
2,133
RS-232 Serial
1
0.1152
1/10
0.01152
RS-232 Serial HS
1
0.2304
1/10
0.02304
IEEE 1284 Parallel
8
8.33
1/6
1.38
IEEE 1284 EPP/ECP
8
8.33
1/3
2.77
USB 1.1/2.0 low-speed
1
1.5
1
0.1875
USB 1.1/2.0 full-speed
1
12
1
1.5
USB 2.0 high-speed
1
480
1
60
IEEE 1394a S100
1
100
1
12.5
IEEE 1394a S200
1
200
1
25
IEEE 1394a S400
1
400
1
50
IEEE 1394b S800
1
800
1
100
System Bus Types, Functions, and Features
Table 4.54
Chapter 4
227
Continued
Bus Type
Bus Width
(Bits)
Bus
Speed (MHz)
DataCycles
per Clock
Bandwidth
(MBps)
IEEE 1394b S1600
1
1,600
1
200
ATA PIO-4
16
8.33
1
16.67
ATA-UDMA/33
16
8.33
2
33
ATA-UDMA/66
16
16.67
2
66
ATA-UDMA/100
16
25
2
100
ATA-UDMA/133
16
33
2
133
SATA-150
1
750
2
150
SATA-300
1
1,500
2
300
SATA-600
1
3,000
2
600
SCSI
8
5
1
5
SCSI Wide
16
5
1
10
SCSI Fast
8
10
1
10
SCSI Fast/Wide
16
10
1
20
SCSI Ultra
8
20
1
20
SCSI Ultra/Wide
16
20
1
40
SCSI Ultra2
8
40
1
40
SCSI Ultra2/Wide
16
40
1
80
SCSI Ultra3 (Ultra160)
16
40
2
160
SCSI Ultra4 (Ultra320)
16
80
2
320
FPM DRAM
64
22
1
177
EDO DRAM
64
33
1
266
PC66 SDRAM DIMM
64
66
1
533
PC100 SDRAM DIMM
64
100
1
800
PC133 SDRAM DIMM
64
133
1
1,066
PC1600 DDR DIMM (DDR200)
64
100
2
1,600
PC2100 DDR DIMM (DDR266)
64
133
2
2,133
PC2700 DDR DIMM (DDR333)
64
167
2
2,666
PC3200 DDR DIMM (DDR400)
64
200
2
3,200
PC3500 DDR (DDR433)
64
216
2
3,466
PC3700 DDR (DDR466)
64
233
2
3,733
PC2-3200 DDR2 (DDR2-400)
64
200
2
3,200
PC2-4300 DDR2 (DDR2-533)
64
267
2
4,266
PC2-5400 DDR2 (DDR2-667)
64
333
2
5,333
PC2-6400 DDR2 (DDR2-800)
64
400
2
6,400
PC3-8500 (DDR3-1066)
64
533
2
8.500
PC3-10600 (DDR3-1333)
64
667
2
1,333
PC3-12800 (DDR3-1600)
64
800
2
1,600
PC3-14900 (DDR3-1866)
64
933
2
1,866
PC3-16000 (DDR3-2000)
64
1,000
2
2,000
RIMM1200 RDRAM (PC600)
16
300
2
1,200
228
Chapter 4
Table 4.54
Motherboards and Buses
Continued
Bus Type
Bus Width
(Bits)
Bus
Speed (MHz)
DataCycles
per Clock
Bandwidth
(MBps)
RIMM1400 RDRAM (PC700)
16
350
2
1,400
RIMM1600 RDRAM (PC800)
16
400
2
1,600
RIMM2100 RDRAM (PC1066)
16
533
2
2,133
RIMM2400 RDRAM (PC1200)
16
600
2
2,400
RIMM3200 RDRAM (PC800)
32
400
2
3,200
RIMM4200 RDRAM (PC1066)
32
533
2
4,266
RIMM4800 RDRAM (PC1200)
32
600
2
4,800
33MHz 486 FSB
32
33
1
133
66MHz Pentium I/II/III FSB
64
66
1
533
100MHz Pentium I/II/III FSB
64
100
1
800
133MHz Pentium I/II/III FSB
64
133
1
1,066
200MHz Athlon FSB
64
100
2
1,600
266MHz Athlon FSB
64
133
2
2,133
333MHz Athlon FSB
64
167
2
2,666
400MHz Athlon FSB
64
200
2
3,200
533MHz Athlon FSB
64
267
2
4,266
400MHz Pentium 4 FSB
64
100
4
3,200
533MHz Pentium 4 FSB
64
133
4
4,266
800MHz Pentium 4 FSB
64
200
4
6,400
1066MHz Pentium 4 FSB
64
267
4
8,533
266MHz Itanium FSB
64
133
2
2,133
400MHz Itanium 2 FSB
128
100
4
6,400
Note: ISA, EISA, VL-Bus, and MCA are no longer used in current motherboard designs.
MBps = Megabytes per second
ISA = Industry Standard Architecture, also known as the PC/XT (8-bit) or AT-Bus (16-bit)
LPC = Low-pin-count bus
DD Floppy = Double Density (360/720KB) Floppy
HD Floppy = High Density (1.2/1.44MB) Floppy
ED Floppy = Extra-high Density (2.88MB) Floppy
EISA = Extended Industry Standard Architecture (32-bit ISA)
VL-Bus = VESA (Video Electronics Standards Association) Local Bus (ISA extension)
MCA = MicroChannel Architecture (IBM PS/2 systems)
PC-Card = 16-bit PCMCIA (Personal Computer Memory Card International Association) interface
CardBus = 32-bit PC-Card
Hub Interface = Intel 8xx chipset bus
HyperTransport = AMD chipset bus
V-Link = VIA Technologies chipset bus
MuTIOL = Silicon Integrated System chipset bus
PCI = Peripheral Component Interconnect
AGP = Accelerated Graphics Port
Types of I/O Buses
Chapter 4
229
RS-232 = Standard Serial port, 115.2Kbps
RS-232 HS = High Speed Serial port, 230.4Kbps
IEEE 1284 Parallel = Standard Bidirectional Parallel Port
IEEE 1284 EPP/ECP = Enhanced Parallel Port/Extended Capabilities Port
USB = Universal serial bus
IEEE 1394 = FireWire, also called i.LINK
ATA PIO = AT Attachment (also known as IDE) Programmed I/O
ATA-UDMA = AT Attachment Ultra DMA
SCSI = Small computer systems interface
FPM = Fast Page Mode, based on X-3-3-3 (1/3 max) burst mode timing on a 66MHz bus
EDO = Extended Data Out, based on X-2-2-2 (1/2 max) burst mode timing on a 66MHz bus
SDRAM = Synchronous dynamic RAM
RDRAM = Rambus dynamic RAM
DDR = Double data rate SDRAM
DDR2 = Next-generation DDR
CPU FSB = Processor front side bus
Note that many of the buses use multiple data cycles (transfers) per clock cycle to achieve greater performance. Therefore, the data transfer rate is higher than it would seem for a given clock rate, which
allows for an easy way to take an existing bus and make it go faster in a backward-compatible way.
The Processor Bus (FSB)
The processor bus (also called the FSB) is the communication pathway between the CPU and motherboard
chipset—more specifically the North Bridge or Memory Controller Hub. Over time, the FSB has run at
faster speeds to support faster processor, memory and motherboard speeds. But as the previous table indicates, there are many other buses running at different speeds in typical systems. The Socket 7 architecture
used by Intel’s Pentium processors in the mid-1990s, the Socket 478 architecture used by Intel processors
in the early 21st century, and the Socket 939 architecture used by AMD processors in the middle of the
last decade represent significant milestones in processor bus designs. Socket 939’s pioneering use of an
integrated memory controller in the processor is now followed by both AMD and Intel processors.
For an in-depth comparison of the processor and other buses found in systems on Socket 7 (Intel and
AMD), Socket 478 (Intel), and Socket 939 (AMD) processors, see “The Processor Bus (Front Side Bus)”
in Chapter 4, “Motherboards and Buses,” in Upgrading and Repairing PCs, 19th edition, available in its
entirety on the DVD packaged with this book.
Types of I/O Buses
Since the introduction of the first PC, many I/O buses have surfaced. The reason is simple: Faster I/O
speeds are necessary for better system performance. This need for higher performance involves three
main areas:
■ Faster CPUs
■ Increasing software demands
■ Greater multimedia requirements
Each of these areas requires the I/O bus to be as fast as possible.
One of the primary reasons new I/O bus structures have been slow in coming is compatibility—that
old catch-22 that anchors much of the PC industry to the past. One of the hallmarks of the PC’s success is its standardization. This standardization spawned thousands of third-party I/O cards, each
230
Chapter 4
Motherboards and Buses
originally built for the early bus specifications of the PC. If a new high-performance bus system was
introduced, it often had to be compatible with the older bus systems so the older I/O cards would not
be obsolete. Therefore, bus technologies seem to evolve rather than make quantum leaps forward.
You can identify different types of I/O buses by their architectures. The main types of I/O buses are
detailed earlier in this chapter.
The main differences among buses consist primarily of the amounts of data they can transfer at one
time and the speeds at which they can do it. The following sections describe the various types of
PC buses.
The ISA Bus
Industry Standard Architecture (ISA) is the bus architecture that was introduced as an 8-bit bus with
the original IBM PC in 1981; it was later expanded to 16 bits with the IBM PC/AT in 1984. ISA is the
basis of the modern personal computer and was the primary architecture used in the majority of PC
systems until the late 1990s.
To learn more about the ISA Bus, including diagrams of 8-bit and 16-bit ISA slots and pinouts, see
“The ISA Bus” in Chapter 4, “Motherboards and Buses,” in Upgrading and Repairing PCs, 19th edition,
available in its entirety on the DVD packaged with this book.
The Micro Channel Bus
The introduction of 32-bit chips meant that the ISA bus could not handle the power of another new
generation of CPUs. The chips could transfer 32 bits of data at a time, but the ISA bus can handle a
maximum of only 16 bits. Rather than extend the ISA bus again, IBM decided to build a new bus; the
result was the MCA bus. MCA (an abbreviation for MicroChannel Architecture) was completely different
from the ISA bus and was technically superior in every way. However, because IBM was the only vendor to use it, MCA never became a common standard, and was phased out in 1996.
The EISA Bus
The EISA standard was announced in September 1988 as a response to IBM’s introduction of the MCA
bus—more specifically, to the way IBM wanted to handle licensing of the MCA bus. Vendors did not
feel obligated to pay retroactive royalties on the ISA bus, so they turned their backs on IBM and created their own buses.
Compaq was the primary developer of the EISA standard, which was intended to be the company’s
way of taking over future development of the PC bus from IBM. Compaq knew that nobody would
clone its bus if it was the only company that had it, so it essentially gave the design to other leading
manufacturers. Compaq formed the EISA committee, a nonprofit organization designed specifically to
control development of the EISA bus. Few EISA adapters were developed. Those that were developed
centered mainly on disk array controllers and server-type network cards.
The EISA bus was essentially a 32-bit version of ISA. Unlike the MCA bus from IBM, you could still use
older 8-bit or 16-bit ISA cards in 32-bit EISA slots, providing for full backward compatibility. As with
MCA, EISA also allowed for automatic configuration of EISA cards via software.
To learn more about the EISA Bus, including pinouts of the EISA slot, see “The EISA Bus” in Chapter
4, “Motherboards and Buses,” in Upgrading and Repairing PCs, 19th edition, available in its entirety on
the DVD packaged with this book.
Types of I/O Buses
Chapter 4
231
Local Buses (VESA, PCI, PCI Express, AGP)
The I/O buses discussed so far (ISA, MCA, and EISA) have one thing in common: relatively slow speed.
The next three bus types that are discussed in the following few sections use the local bus concept
explained in this section to address the speed issue. The main local buses found in PC systems are
■ VL-Bus (VESA local bus)
■ PCI
■ PCI Express
■ AGP
The speed limitation of ISA, MCA, and EISA is a carryover from the days of the original PC when the
I/O bus operated at the same speed as the processor bus. As the speed of the processor bus increased,
the I/O bus realized only nominal speed improvements, primarily from an increase in the bandwidth
of the bus. The I/O bus had to remain at a slower speed because the huge installed base of adapter
cards could operate only at slower speeds.
A local bus is any bus designed to interact more closely with the processor, or closer to processor
throughput. It is interesting to note that the first 8-bit and 16-bit ISA buses were a form of local bus
architecture. These systems had the processor bus as the main bus, and everything ran at full processor speeds. When ISA systems ran faster than 8MHz, the main ISA bus had to be decoupled from the
processor bus because expansion cards, memory, and so on could not keep up. In 1992, an extension
to the ISA bus called the VESA local bus (VL-Bus) started showing up on PC systems, indicating a
return to local bus architecture. The PCI local bus, developed at about the same time as VL-Bus, supplanted it as the most common high-speed connection until the PCI Express (PCIe) bus became widespread in the 2009 and beyond time frame. Since then, PCI slots have become fewer in number while
PCIe slots have increased.
Depending upon the requirements of the devices connected via expansion slots, it has been common
to have two or more bus designs represented in expansion slots on typical desktop PCs. For example,
a typical system built in 1993-1994 would feature one or two PCI and/or VL-Bus slots along with ISA
slots. In a typical system built in 1999-2000, you might find a single ISA/PCI combo slot, an AGP slot
for video, with the rest of the slots using PCI. Typical systems in the 2006 and later timeframe typically have PCIe and PCI slots. Some of the most recent chipset from Intel no longer support PCI slots,
so in a few years they will no longer be found in systems.
VESA Local Bus
The Video Electronics Standards Association (VESA) 32-bit local bus (VL-Bus) was the most popular
local bus design from its debut in August 1992 through 1994. It was used for video and PATA hard
disk interfacing. Although the VL-Bus could be adapted to other processors—including the 386 or
even the Pentium—it was designed for the 486 and worked best as a 486 solution only. Despite the
low cost, after a new bus called PCI became popular, VL-Bus fell into disfavor quickly. It never did
catch on with Pentium systems, and there was little or no further development of the VL-Bus in the
PC industry.
To learn more about the VL-Bus, see “The VESA Local Bus” in Chapter 4, “Motherboards and Buses,”
in Upgrading and Repairing PCs, 19th edition, available in its entirety on the DVD packaged with this
book.
232
Chapter 4
Motherboards and Buses
The PCI Bus
In early 1992, Intel spearheaded the creation of another industry group. It was formed with the same
goals as the VESA group in relation to the PC bus. Recognizing the need to overcome weaknesses in
the ISA and EISA buses, the PCI Special Interest Group was formed.
The PCI bus specification was released in June 1992 as version 1.0 and since then has undergone several upgrades. Table 4.55 shows the various releases of PCI.
Table 4.55
PCI Specifications
PCI
Specification
Released
Major Change
PCI 1.0
June 1992
Original 32/64-bit specification
PCI 2.0
April 1993
Defined connectors and expansion boards
PCI 2.1
June 1995
66MHz operation, transaction ordering, latency changes
PCI 2.2
Jan. 1999
Power management, mechanical clarifications
PCI-X 1.0
Sept. 1999
133MHz operation, addendum to 2.2
Mini-PCI
Nov. 1999
Small form-factor boards, addendum to 2.2
PCI 2.3
March 2002
3.3V signaling, low-profile add-in cards
PCI-X 2.0
July 2002
266MHz and 533MHz operation, supports subdivision of 64-bit data bus into
32-bit or 16-bit segments for use by multiple devices, 3.3V/1.5V signaling
PCI Express 1.0
July 2002
2.5GTps per lane per direction, using 0.8V signaling and 8b/10b encoding,
resulting in 250MBps per lane
PCI Express 2.0
Jan. 2007
5GTps per lane per direction, using 0.8V signaling and 8b/10b encoding,
resulting in 500MBps per lane
PCI Express 3.0
2010
8GTps per lane per direction, using 0.8V signaling and 128b/130b encoding,
resulting in 1GBps per lane
PCI redesigned the traditional PC bus by inserting another bus between the CPU and the native I/O
bus by means of bridges. Rather than tap directly into the processor bus, with its delicate electrical
timing (as was done in the VL-Bus), a new set of controller chips was developed to extend the bus, as
shown in Figure 4.39.
The PCI bus often is called a mezzanine bus because it adds another layer to the traditional bus configuration. PCI bypasses the standard I/O bus; it uses the system bus to increase the bus clock speed and
take full advantage of the CPU’s data path. Systems that integrate the PCI bus became available in
mid-1993 and have since become a mainstay in the PC.
Types of I/O Buses
Chapter 4
233
Processor
Cache
Bridge/
Memory
Controller
DRAM
Motion
Video
Audio
PCI LOCAL BUS
LAN
SCSI
EXP Bus
XFACE
Graphics
Base I/O
Functions
ISA/EISA - Microchannel
Figure 4.39
Conceptual diagram of the PCI bus.
Information typically is transferred across the PCI bus at 33MHz and 32 bits at a time. The bandwidth
is 133MBps, as the following formula shows:
33.33MHz × 4 bytes (32 bits) = 133MBps
Until recently, 32-bit 33MHz PCI was the standard found in most PCs, most recent PCs now feature
PCI Express (PCIe) x1 and PCI Express x16 slots, and some late-model PCs have as few as one PCI slot
or have none. Table 4.56 compares the specifications for PCI, PCI-X, and PCIe bus types.
Table 4.56
PCI Bus Types
PCI Bus Type
Bus Width
(Bits)
Bus Speed
(MHz)
Data Cycles
per Clock
Bandwidth
(MBps)
PCI
32
33
1
133
PCI 66MHz
32
66
1
266
PCI 64-bit
64
33
1
266
PCI 66MHz/64-bit
64
66
1
533
PCI-X 64
64
66
1
533
PCI-X 133
64
133
1
1,066
PCI-X 266
64
133
2
2,132
PCI-X 533
64
133
4
4,266
PCI Express 1.x
1
2,500
0.8
250
PCI Express 1.x
16
2,500
0.8
4,000
PCI Express 1.x
32
2,500
0.8
8,000
234
Chapter 4
Table 4.56
Motherboards and Buses
Continued
PCI Bus Type
Bus Width
(Bits)
Bus Speed
(MHz)
Data Cycles
per Clock
Bandwidth
(MBps)
PCI Express 2.x
1
5,000
0.8
500
PCI Express 2.x
16
5,000
0.8
8,000
PCI Express 2.x
32
5,000
0.8
16,000
PCI Express 3.x
1
8,000
~0.98
1,000
PCI Express 3.x
16
8,000
~0.98
16,000
PCI Express 3.x
32
8,000
~0.98
32,000
PCI Express 1.x and 2.x use 8b/10b encoding, which transfers 8 bits of data for every 10 bits sent.
PCI Express 3.x uses 128b/130b encoding, which transfers 128 bits of data for every 130 bits sent.
64-bit PCI, 66MHz PCI, and PCI-X slots are found only on server- or workstation-type boards and systems. Aiding performance is the fact that the PCI bus can operate concurrently with the processor bus;
it does not supplant it. The CPU can be processing data in an external cache while the PCI bus is busy
transferring information between other parts of the system—a major design benefit of the PCI bus.
A PCI adapter card uses its own unique connector. This connector can be identified within a computer system because it typically is offset from the normal ISA, MCA, or EISA connectors found in
older motherboards. See Figure 4.40 for an example. The size of a PCI card can be the same as that of
the cards used in the system’s normal I/O bus.
AGP
Slot
PCI
Slots
ISA or EISA
Slots
Figure 4.40
Typical configuration of 32-bit 33MHz PCI slots in relation to ISA or EISA and AGP slots.
The PCI specification identifies three board configurations, each designed for a specific type of system
with specific power requirements; each specification has a 32-bit version and a longer 64-bit version.
The 5V specification is for stationary computer systems (using PCI 2.2 or earlier versions), the 3.3V
specification is for portable systems (also supported by PCI 2.3), and the universal specification is for
motherboards and cards that work in either type of system. 64-bit versions of the 5V and universal
PCI slots are found primarily on server motherboards. The PCI-X 2.0 specifications for 266 and 533
versions support 3.3V and 1.5V signaling; this corresponds to PCI version 2.3, which supports 3.3V
signaling.
Types of I/O Buses
Chapter 4
235
Note
You can find pinouts for the 5V, 3.3V, and universal PCI slots on the disc in the Technical Reference section.
Figure 4.41 compares the 32-bit and 64-bit versions of the standard 5V PCI slot to a 64-bit universal
PCI slot. Figure 4.42 shows how the connector on a 64-bit universal PCI card compares to the 64-bit
universal PCI slot.
32-bit, 33MHz
PCI slot (as used in
desktop computers)
B94
B62
B49
B1
B62
B49
B1
64-bit, 33MHz PCI slot
(as used in servers)
Rear of
the system
B94
B62
B49
B11
B1
64-bit, 66/33MHz universal
PCI slot (as used in servers)
Figure 4.41 A 32-bit 33MHz PCI slot (top) compared to a 64-bit 33MHz PCI slot (center) and a 64-bit universal PCI slot that runs at 66MHz (bottom).
Figure 4.42
A 64-bit universal PCI card (top) compared to the 64-bit universal PCI slot (bottom).
Notice that the universal PCI board specifications effectively combine the 5V and 3.3V specifications.
For pins for which the voltage is different, the universal specification labels the pin V I/O. This type
of pin represents a special power pin for defining and driving the PCI signaling rail.
Another important feature of PCI is the fact that it was the model for the Intel PnP specification.
Therefore, PCI cards do not have jumpers and switches and are instead configured through software.
True PnP systems are capable of automatically configuring the adapters, whereas non-PnP systems
with ISA slots must configure the adapters through a program that is usually a part of the system
CMOS configuration. Starting in late 1995, most PC-compatible systems have included a PnP BIOS
that allows the automatic PnP configuration.
PCI Express
During 2001, a group of companies called the Arapahoe Work Group (led primarily by Intel) developed a draft of a new high-speed bus specification code-named 3GIO (third-generation I/O). In August
2001, the PCI Special Interest Group (PCI-SIG) agreed to take over, manage, and promote the 3GIO
architecture specification as the future generation of PCI. In April 2002, the 3GIO draft version 1.0
236
Chapter 4
Motherboards and Buses
was completed, transferred to the PCI-SIG, and renamed PCI Express. Finally in July 2002, the PCI
Express 1.0 specification was approved. The specification was updated to 1.1 in April 2005, to 2.0 in
January 2007 and to version 3.0 in November 2010.
The original 3GIO code name was derived from the fact that this new bus specification was designed
to initially augment and eventually replace the previously existing ISA/AT-Bus (first-generation) and
PCI (second-generation) bus architectures in PCs. Each of the first two generations of PC bus architectures was designed to have a 10-to-15-year useful life in PCs. In being adopted and approved by the
PCI-SIG, PCI Express is now destined to be the dominant PC bus architecture designed to support the
increasing bandwidth needs in PCs over the next 10–15 years.
The key features of PCI Express are as follows:
■ Compatibility with existing PCI enumeration and software device drivers.
■ Physical connection over copper, optical, or other physical media to allow for future encoding
schemes.
■ Maximum bandwidth per pin allows for small form factors, reduced cost, simpler board designs
and routing, and reduced signal integrity issues.
■ Embedded clocking scheme that enables easy frequency (speed) changes compared to synchronous clocking.
■ Bandwidth (throughput) that increases easily with frequency and width (lane) increases.
■ Low latency suitable for applications requiring isochronous (time-sensitive) data delivery, such
as streaming video.
■ Hot-plugging and hot-swapping capabilities.
■ Power management capabilities.
PCI Express is another example of how the PC has moved from parallel to serial interfaces. Earlier
generation bus architectures in the PC have been of a parallel design, in which multiple bits are sent
simultaneously over several pins in parallel. The more bits sent at a time, the faster the bus throughput is. The timing of all the parallel signals must be the same, which becomes more and more difficult
to do over faster and longer connections. Even though 32 bits can be transmitted simultaneously over
a bus such as PCI or AGP, propagation delays and other problems cause them to arrive slightly skewed
at the other end, resulting in a time difference between when the first and last of all the bits arrive.
A serial bus design is much simpler, sending 1 bit at a time over a single wire, at much higher rates of
speed than a parallel bus would allow. By sending the bits serially, the timing of individual bits or the
length of the bus becomes much less of a factor. By combining multiple serial data paths, even faster
throughputs can be realized that dramatically exceed the capabilities of traditional parallel buses.
PCI Express is a fast serial bus design that is backward compatible with current PCI parallel bus software drivers and controls. In PCI Express, data is sent full duplex (simultaneously operating one-way
paths) over two pairs of differentially signaled wires called a lane. Each lane allows for about 250MBps
throughput in each direction initially, and the design allows for scaling from 1 to 2, 4, 8, 16, or 32
lanes. For example, a high-bandwidth configuration with 16 lanes allowing 16 bits to be sent in each
direction simultaneously would allow up to 4,000MBps bandwidth each way. PCIe 2.0 increases the
transfer rate to 500MBps per lane, or 8,000MBps for an x16 connector. This compares to PCI, which
has only 133MBps bandwidth (one way at a time). Figure 4.43 compares the PCI Express x1–x16 connectors. Note that the PCI Express x4 and x8 connectors shown in this figure are intended primarily
for use in servers.
Types of I/O Buses
Chapter 4
237
x1
x4
Rear of system
x8
x16
Front of system
Figure 4.43
PCI Express x1, x4, x8, and x16 slots.
PCI Express uses an IBM-designed 8-bit-to-10-bit encoding scheme, which allows for self-clocked signals that will easily allow future increases in frequency. The starting frequency is 2.5GHz, and the
specification allows increasing up to 10GHz in the future, which is about the limit of copper connections. By combining frequency increases with the capability to use up to 32 lanes, PCI Express is capable of supporting future bandwidths up to 32GBps.
PCI Express is designed to augment and replace many of the buses currently used in PCs. It is not
only be a supplement to (and the replacement for) PCI slots, but can also be used to replace the existing Intel hub architecture, HyperTransport, and similar high-speed interfaces between motherboard
chipset components. Additionally, it replaces video interfaces such as AGP and act as a mezzanine bus
to attach other interfaces, such as Serial ATA, USB 2.0, 1394b (FireWire or i.LINK), Gigabit Ethernet,
and more.
Because PCI Express can be implemented over cables as well as onboard, it can be used to create systems constructed with remote “bricks” containing the bulk of the computing power. Imagine the
motherboard, processor, and RAM in one small box hidden under a table, with the video, disk drives,
and I/O ports in another box sitting on a table within easy reach. This will enable a variety of flexible
PC form factors to be developed in the future without compromising performance.
Although PCI Express has not and will not replace PCI or other interfaces overnight, over time, PCI
Express will eventually become the preferred general-purpose I/O interconnect over PCI. I expect the
move to PCI Express to be similar to the transition from ISA/AT-Bus to PCI in the 1990s. Current fullsize ATX motherboards have about one-third of their slots as PCI and about two-thirds as PCI Express.
And, PCI Express x16 has already replaced AGP 8x.
Most recent desktop motherboard designs feature a mix of PCI, PCI Express x1, and x16 slots; workstation and server motherboards are also adding PCI Express slots to their typical PCI-X and PCI slots.
For more information on PCI Express, I recommend consulting the PCI-SIG website (www.pcisig.org).
Accelerated Graphics Port
In the mid 1990s, Intel created AGP as a new bus specifically designed for high-performance graphics
and video support. AGP is based on PCI, but it contains several additions and enhancements and is
physically, electrically, and logically independent of PCI. For example, the AGP connector is similar to
238
Chapter 4
Motherboards and Buses
PCI, although it has additional signals and is positioned differently in the system. Unlike PCI, which
is a true bus with multiple connectors (slots), AGP is more of a point-to-point high-performance connection designed specifically for a video card in a system because only one AGP slot is allowed for a
single video card. Intel originally released the AGP specification 1.0 in July 1996 and defined a 66MHz
clock rate with 1x or 2x signaling using 3.3V. AGP version 2.0 was released in May 1998 and added 4x
signaling as well as a lower 1.5V operating capability.
The final revision for the AGP specification for PCs is AGP 8x, also called AGP 3.0. AGP 8x defines a
transfer speed of 2,133MBps, which is twice that of AGP 4x. The AGP 8x specification was publicly
announced in November 2000.
Although AGP 8x (2,133MBps) is 16 times faster than 32-bit 33MHz PCI (133MBps), AGP 8x is only
about half as fast as PCI Express x16 (4,000MBps). Starting in mid-2004, motherboard and system
vendors began to replace AGP 8x with PCI Express x16 expansion slots in high-performance systems.
By early 2006, most motherboards featured PCI Express x16 slots in place of AGP.
To learn more about AGP, see “Accelerated Graphics Port” in Chapter 4, “Motherboards and Buses,” in
Upgrading and Repairing PCs, 19th edition, available in its entirety on the DVD packaged with this book.
System Resources
System resources are the communications channels, addresses, and other signals that hardware
devices use to communicate on the bus. At their lowest level, these resources typically include the
following:
■ Memory addresses
■ IRQ (interrupt request) channels
■ DMA (direct memory access) channels
■ I/O port addresses
These resources are required and used by many components of your system. Adapter cards need these
resources to communicate with your system and accomplish their purposes. Not all adapter cards
have the same resource requirements. A serial communications port, for example, needs an IRQ channel and I/O port address, whereas a sound card needs these resources and at least one DMA channel.
As systems increased in complexity from the late 1980s on, the chance for resource conflicts also
increased. The configuration problem came to a head in the early 1990s, when manual configuration
was the norm. Starting around that time, Microsoft and Intel developed PnP, which allowed for automatic detection, management and configuration of hardware, usually without user involvement.
Windows 95 was the first PnP-aware PC operating system (OS), and by the time it was released, most
hardware began supporting the PnP standard. Plug and Play was later superceded by Advanced
Configuration and Power Interface (ACPI), which combined device configuration and power management into a single specification.
Modern systems with ACPI and modern buses such as PCI and PCI Express rarely have problems configuring these resources. In virtually all cases, the configuration will be automatic and trouble free.
Interrupts
Interrupt request channels, or hardware interrupts, are used by various hardware devices to signal the
motherboard that a request must be fulfilled. This procedure is the same as a student raising his hand
to indicate that he needs attention.
System Resources
Chapter 4
239
These interrupt channels are represented by wires on the motherboard and in the slot connectors.
When a particular interrupt is invoked, a special routine takes over the system, which first saves all
the CPU register contents in a stack and then directs the system to the interrupt vector table. This
vector table contains a list of memory addresses that correspond to the interrupt channels. Depending
on which interrupt was invoked, the program corresponding to that channel is run.
The pointers in the vector table point to the address of whatever software driver services the card that
generated the interrupt. For a network card, for example, the vector might point to the address of the
network drivers that have been loaded to operate the card; for a hard disk controller, the vector might
point to the BIOS code that operates the controller.
After the particular software routine performs whatever function the card needed, the interrupt-control
software returns the stack contents to the CPU registers, and the system resumes whatever it was doing
before the interrupt occurred.
Through the use of interrupts, your system can respond to external events in a timely fashion. Each
time a serial port presents a byte to your system, an interrupt is generated to ensure that the system
reads that byte before another comes in. Keep in mind that in some cases a port device—in particular,
a modem with a 16550 or higher UART chip—incorporates a byte buffer that allows multiple characters to be stored before an interrupt is generated.
Hardware interrupts are generally prioritized by their numbers; with some exceptions, the highestpriority interrupts have the lowest numbers. Higher-priority interrupts take precedence over lowerpriority interrupts by interrupting them. As a result, several interrupts can occur in your system concurrently, with each interrupt nesting within another.
The ISA bus uses edge-triggered interrupt sensing, in which an interrupt is sensed by a changing signal
sent on a particular wire located in the slot connector. A different wire corresponds to each possible
hardware interrupt. Because the motherboard can’t recognize which slot contains the card that used
an interrupt line and therefore generated the interrupt, confusion results if more than one card is set
to use a particular interrupt. Each interrupt, therefore, is usually designated for a single hardware
device. Most of the time, interrupts can’t be shared.
Originally, IBM developed ways to share interrupts on the ISA bus, but few devices followed the necessary rules to make this a reality. The PCI bus inherently allows interrupt sharing; in fact, virtually all
PCI cards are set to PCI interrupt A and share that interrupt on the PCI bus. The real problem is that
there are technically two sets of hardware interrupts in the system: PCI interrupts and ISA interrupts.
For PCI cards to work in a PC, the PCI interrupts are first mapped to ISA interrupts, which are then
configured as nonshareable. Therefore, in many cases you must assign a nonconflicting interrupt for
each card, even PCI cards. The conflict between assigning ISA IRQs for PCI interrupts caused many
configuration problems for early users of PCI motherboards and continued to cause problems even
after the development of Windows 95 and its PnP technology.
The solution to the interrupt sharing problem for PCI cards was something called PCI IRQ Steering,
which has been supported in OSs (starting with Windows 95 OSR 2.x) and BIOSs for more than a
decade. PCI IRQ Steering allows a plug-and-play operating system such as Windows to dynamically
map or “steer” PCI cards (which almost all use PCI INTA#) to standard PC interrupts and allows several PCI cards to be mapped to the same interrupt. More information on PCI IRQ Steering is found in
the section “PCI Interrupts,” later in this chapter.
Hardware interrupts are sometimes referred to as maskable interrupts, which means you can mask or turn
off the interrupts for a short time while the CPU is used for other critical operations. It is up to the system BIOS and programs to manage interrupts properly and efficiently for the best system performance.
The following sections discuss the IRQs that any standard devices use, as well as what might be free in
your system.
240
Chapter 4
Motherboards and Buses
8-Bit ISA Bus Interrupts
The PC and XT (the systems based on the 8-bit 8086 CPU) provide for eight different external hardware interrupts. Table 4.57 shows the typical uses for these interrupts, which are numbered 0–7.
Table 4.57
8-Bit ISA Bus Default Interrupt Assignments
IRQ
Function
Bus Slot
0
System Timer
No
1
Keyboard Controller
No
2
Available
Yes (8-bit)
3
Serial Port 2 (COM2:)
Yes (8-bit)
4
Serial Port 1 (COM1:)
Yes (8-bit)
5
Hard Disk Controller
Yes (8-bit)
6
Floppy Disk Controller
Yes (8-bit)
7
Parallel Port 1 (LPT1:)
Yes (8-bit)
If you have a system that has one of the original 8-bit ISA buses, the IRQ resources that the system
provides present a severe limitation. Installing several devices that need the services of system IRQs in
a PC/XT-type system can be a study in frustration because the only way to resolve the interruptshortage problem is to remove the adapter board that you need the least.
16-Bit ISA, EISA, and MCA Bus Interrupts
The introduction of the AT, based on the 286 processor, was accompanied by an increase in the number of external hardware interrupts the bus would support. The number of interrupts was doubled to
16 by using two Intel 8259 interrupt controllers, piping the interrupts generated by the second one
through the unused IRQ2 in the first controller. This arrangement effectively makes only 15 IRQ
assignments available, and IRQ2 effectively became inaccessible.
By routing all the interrupts from the second IRQ controller through IRQ2 on the first, all these new
interrupts are assigned a nested priority level between IRQ1 and IRQ3. Thus, IRQ15 ends up having a
higher priority than IRQ3. Figure 4.44 shows how the two 8259 chips were wired to create the cascade
through IRQ2 on the first chip.
From Timer Circuits
From Keyboard Controller
From FPU
From RTC/CMOS
8259 PIC (#1)
To CPU
INT
0
1
2
3
4
5
6
7
IRQ 0
IRQ 1
8259 PIC (#2)
IRQ
IRQ
IRQ
IRQ
IRQ
3
4
5
6
7
From 8-bit slots
From 16-bit slots
From 8-bit slots (former IRQ 2 pin position)
Figure 4.44
Interrupt controller cascade wiring.
INT
0
1
2
3
4
5
6
7
IRQ
IRQ
IRQ
IRQ
IRQ
IRQ
IRQ
IRQ
8
9
10
11
12
13
14
15
Chapter 4
System Resources
241
To prevent problems with boards set to use IRQ2, the AT system designers routed one of the new
interrupts (IRQ9) to fill the slot position left open after removing IRQ2. This means that any card you
install in a modern system that claims to use IRQ2 is really using IRQ9 instead.
Table 4.58 shows the typical uses for interrupts in the 16-bit ISA and 32-bit PCI/AGP buses and lists
them in priority order from highest to lowest. The obsolete EISA and MCA buses used a similar
IRQ map.
Table 4.58
16/32-Bit ISA/PCI/AGP Default Interrupt Assignments
IRQ
Standard Function
Bus Slot
Card Type
Recommended Use
0
System Timer
No
—
—
1
Keyboard Controller
No
—
—
2
2nd IRQ Controller Cascade
No
—
—
8
Real-Time Clock
No
—
—
9
Available (as IRQ2 or IRQ9)
Yes
8/16-bit
Network Card
10
Available
Yes
16-bit
USB
11
Available
Yes
16-bit
SCSI Host Adapter
12
Mouse Port/Available
Yes
16-bit
Mouse Port
13
Math Coprocessor
No
—
—
14
Primary IDE
Yes
16-bit
Primary IDE (hard disks)
15
Secondary IDE
Yes
16-bit
2nd IDE (CD-ROM/Tape)
3
Serial 2 (COM2:)
Yes
8/16-bit
COM2:/Internal Modem
4
Serial 1 (COM1:)
Yes
8/16-bit
COM1:
5
Sound/Parallel 2 (LPT2:)
Yes
8/16-bit
Sound Card
6
Floppy Controller
Yes
8/16-bit
Floppy Controller
7
Parallel 1 (LPT1:)
Yes
8/16-bit
LPT1:
Notice that interrupts 0, 1, 2, 8, and 13 are not on the bus connectors and are not accessible to
adapter cards. Interrupts 8, 10, 11, 12, 13, 14, and 15 are from the second interrupt controller and are
accessible only by boards that use the 16-bit extension connector because this is where these wires are
located. IRQ9 is rewired to the 8-bit slot connector in place of IRQ2, so IRQ9 replaces IRQ2 and,
therefore, is available to 8-bit cards, which treat it as though it were IRQ2.
Note
Although the 16-bit ISA bus has twice as many interrupts as systems that have the 8-bit ISA bus, you still might run out of
available interrupts because only 16-bit adapters can use most of the newly available interrupts. Any 32-bit PCI adapter
can be mapped to any ISA IRQs.
The extra IRQ lines in a 16-bit ISA system are of little help unless the adapter boards you plan to use
enable you to configure them for one of the unused IRQs. Some devices are hard-wired so they can
use only a particular IRQ, and some of the early 16-bit ISA adapters weren’t designed to use 16-bit
IRQs (9–15). If you have a device that already uses that IRQ, you must resolve the conflict before
installing the second adapter. If neither adapter enables you to reconfigure its IRQ use, chances are
that you can’t use the two devices in the same system.
242
Chapter 4
Motherboards and Buses
PCI Interrupts
The PCI bus supports IRQs that PCI devices can use to signal to the bus that they need attention. The
four PCI interrupts are called INTA#, INTB#, INTC#, and INTD#. These INTx# interrupts are level sensitive, which means that the electrical signaling enables them to be shared among PCI cards. In fact, all
single-device or single-function PCI chips or cards that use only one interrupt must use INTA#. This is
one of the rules in the PCI specification. If additional devices are within a chip or onboard a card, the
additional devices can use INTB# through INTD#. Because there are few multifunction PCI chips or
boards, practically all the devices on a given PCI bus share INTA#.
For the PCI bus to function in a PC, the PCI interrupts must be mapped to ISA interrupts. Because ISA
interrupts can’t be shared, in most cases each PCI card using INTA# on the PCI bus must be mapped
to a different nonshareable ISA interrupt. For example, you could have a system with four PCI slots
and four PCI cards installed, each using PCI interrupt INTA#. In most cases, each of these cards would
be mapped to a different available ISA interrupt request, such as IRQ9, IRQ10, IRQ11, or IRQ5.
Finding unique IRQs for each device on both the ISA and PCI buses has always been a problem; there
simply aren’t enough free ones to go around. Setting two ISA devices to the same IRQ has never been
possible (the so-called IRQ sharing of IRQ4 by COM1/3 and IRQ3 by COM2/4 didn’t allow both COM
ports to work at the same time), but on most newer systems sharing IRQs between multiple PCI devices
might be possible. Newer system BIOSs as well as plug-and-play OSs support a function known as PCI
IRQ Steering. For this to work, both your system BIOS and OS must support IRQ Steering. Older system
BIOSs and Windows 95 or 95A and earlier do not have support for PCI IRQ Steering.
Advanced Programmable Interrupt Controller
As a replacement for the traditional pair of 8259 interrupt controllers, Intel developed the Advanced
Programmable Interrupt Controller (APIC) in the mid-1990s. Although all processors since the original Pentium contain an APIC, an APIC must also be present in the motherboard’s chipset, and the
BIOS and OS must support APIC. APIC support is present on most recent motherboards and has been
supported in all Windows releases since Windows 2000. In some systems you can enable or disable
APIC support in the system BIOS, but in most it is permanently enabled.
APIC provides support for multiple processors, but it is also used on single-processor computers. The
major benefit of APIC for a single processor is support for virtual PCI IRQs above 15. Most APIC
implementations support virtual IRQs up to 24. Although Windows 2000 tends to place PCI IRQs into
the traditional ISA range of 0–15, even when APIC is enabled, Windows XP and later make full use of
APIC services when installed on a system with APIC enabled. With Windows XP and later, APIC limits
IRQ sharing to enable devices to perform better with fewer conflicts. For example, on one typical system with APIC enabled, PCI IRQs are assigned as follows:
■ PCI IRQ 16—Onboard audio/AGP graphics (shared)
■ PCI IRQ 17—Add-on card USB 1.1 controller (nonshared)
■ PCI IRQ 18—Add-on card USB 1.1 controller (nonshared)
■ PCI IRQ 19—10/100 Ethernet adapter/add-on card USB 2.0 controller (shared)
■ PCI IRQ 21—Onboard USB 1.1 controllers (3)/onboard USB 2.0 controller (shared)
The traditional ISA IRQs 0–15 on the sample system are used only for ISA devices, thus preventing
ISA-PCI IRQ conflicts.
System Resources
Chapter 4
243
Note
APIC must be enabled in the system BIOS before you can install x64 editions of Windows.
IRQ Conflicts
If you manage systems that use ISA slots, you might have the potential for conflicts between the IRQ
requirements of add-on cards and the requirements for built-in devices. To learn how to deal with
common sources of IRQ conflicts and to free up the maximum number of IRQs, see the section see
“IRQ Conflicts” in Chapter 4, “Motherboards and Buses,” in Upgrading and Repairing PCs, 19th edition,
available in its entirety on the DVD packaged with this book.
DMA Channels
Communications devices that must send and receive information at high speeds use direct memory
access (DMA) channels. Conflicts between devices needing to use the same DMA channel were common on systems using ISA slots, but are no longer an issue on modern systems.
To learn more about DMA channels and possible conflicts on older systems, see “DMA Channels” in
Chapter 4, “Motherboards and Buses,” in Upgrading and Repairing PCs, 19th edition, available in its
entirety on the DVD packaged with this book.
I/O Port Addresses
Your computer’s I/O ports enable communications between devices and software in your system. They
are equivalent to two-way radio channels. If you want to talk to your serial port, you need to know
on which I/O port (radio channel) it is listening. Similarly, if you want to receive data from the serial
port, you need to listen on the same channel on which it is transmitting.
Unlike IRQs and DMA channels, our systems have an abundance of I/O ports. There are exactly
65,536 ports—numbered from 0000h to FFFFh—which is a feature of the Intel x86 processor design.
Even though most devices use up to eight ports for themselves, with that many to spare, you won’t
run out anytime soon. The biggest problem you have to worry about is setting two devices to use the
same port.
Most modern plug-and-play systems resolve port conflicts and select alternative ports for one of the
conflicting devices.
One confusing issue is that I/O ports are designated by hexadecimal addresses similar to memory
addresses. They are not memory; they are ports. The difference is that when you send data to memory
address 1000h, it is stored in your system’s DIMM memory. If you send data to I/O port address
1000h, it is sent out on the bus on that “channel,” and anybody listening in could then “hear” it. If
nobody is listening to that port address, the data reaches the end of the bus and is absorbed by the
bus terminating resistors.
Driver programs are primarily what interact with devices at the various port addresses. The driver
must know which ports the device is using to work with it, and vice versa. That is not usually a problem because the driver and device come from the same company.
Motherboard and chipset devices usually are set to use I/O port addresses 0h–FFh, and all other
devices use 100h–FFFFh. Table 4.59 shows the commonly used motherboard and chipset-based I/O
port usage.
244
Chapter 4
Table 4.59
Motherboards and Buses
Motherboard and Chipset-Based Device Port Addresses
Address (Hex)
Size
Description
0000–000F
16 bytes
Chipset – 8237 DMA 1
0020–0021
2 bytes
Chipset – 8259 interrupt controller 1
002E–002F
2 bytes
Super I/O controller configuration registers
0040–0043
4 bytes
Chipset – Counter/Timer 1
0048–004B
4 bytes
Chipset – Counter/Timer 2
0060
1 byte
Keyboard/Mouse controller byte – reset IRQ
0061
1 byte
Chipset – NMI, speaker control
0064
1 byte
Keyboard/Mouse controller, CMD/STAT byte
0070, bit 7
1 bit
Chipset – Enable NMI
0070, bits 6:0
7 bits
MC146818 – Real-time clock, address
0071
1 byte
MC146818 – Real-time clock, data
0078
1 byte
Reserved – Board configuration
0079
1 byte
Reserved – Board configuration
0080–008F
16 bytes
Chipset – DMA page registers
00A0–00A1
2 bytes
Chipset – 8259 interrupt controller 2
00B2
1 byte
APM control port
00B3
1 byte
APM status port
00C0–00DE
31 bytes
Chipset – 8237 DMA 2
00F0
1 byte
Math Coprocessor Reset Numeric Error
To find out exactly which port addresses are being used on your motherboard, consult the board documentation or look up these settings in the Windows Device Manager.
Bus-based devices typically use the addresses from 100h on up. Table 4.60 lists the commonly used
bus-based device addresses and some common adapter cards and their settings.
Table 4.60
Bus-Based Device Port Addresses
Address (Hex)
Size
Description
0168–016F
8 bytes
Fourth ATA interface
0170–0177
8 bytes
Secondary ATA interface
01E8–01EF
8 bytes
Third ATA interface
01F0–01F7
8 bytes
Primary ATA interface
0200–0207
8 bytes
Game port or joystick adapter
0210–0217
8 bytes
IBM XT expansion chassis
0220–0233
20 bytes
Creative Labs Sound Blaster 16 audio (default)
0240–0253
20 bytes
Creative Labs Sound Blaster 16 audio (alternate)
0260–0273
20 bytes
Creative Labs Sound Blaster 16 audio (alternate)
0270–0273
4 bytes
Plug and Play I/O read ports
0278–027F
8 bytes
Parallel port 2 (LPT2)
0280–0293
20 bytes
Creative Labs Sound Blaster 16 audio (alternate)
System Resources
Table 4.60
Chapter 4
Continued
Address (Hex)
Size
Description
02E8–02EF
8 bytes
Serial port 4 (COM4)
02EC–02EF
4 bytes
Video, 8514, or ATI standard ports
02F8–02FF
8 bytes
Serial port 2 (COM2)
0300–0301
2 bytes
MPU-401 MIDI port (secondary)
0320–0323
4 bytes
XT (8-bit) hard disk controller
0330–0331
2 bytes
MPU-401 MIDI port (default)
0366
1 byte
Fourth ATA command port
0367, bits 6:0
7 bits
Fourth ATA status port
0370–0375
6 bytes
Secondary floppy controller
0376
1 byte
Secondary ATA command port
0377, bit 7
1 bit
Secondary floppy controller disk change
0377, bits 6:0
7 bits
Secondary ATA status port
0378–037F
8 bytes
Parallel Port 1 (LPT1)
0388–038B
4 bytes
Audio – FM synthesizer
03B0–03BB
12 bytes
Video, Mono/EGA/VGA standard ports
03BC–03BF
4 bytes
Parallel port 1 (LPT1) in some systems
03BC–03BF
4 bytes
Parallel port 3 (LPT3)
03C0–03CF
16 bytes
Video, EGA/VGA standard ports
03D0–03DF
16 bytes
Video, CGA/EGA/VGA standard ports
03E6
1 byte
Third ATA command port
03E7, bits 6:0
7 bits
Third ATA status port
03E8–03EF
8 bytes
Serial port 3 (COM3)
03F0–03F5
6 bytes
Primary floppy controller
03F6
1 byte
Primary ATA command port
03F7, bit 7
1 bit
Primary floppy controller disk change
03F7, bits 6:0
7 bits
Primary ATA status port
03F8–03FF
8 bytes
Serial port 1 (COM1)
04D0–04D1
2 bytes
Edge/level triggered PCI interrupt controller
0530–0537
8 bytes
Windows sound system (default)
0604–060B
8 bytes
Windows sound system (alternate)
0678–067F
8 bytes
LPT2 in ECP mode
0778–077F
8 bytes
LPT1 in ECP mode
0CF8–0CFB
4 bytes
PCI configuration address registers
0CF9
1 byte
Turbo and reset control register
0CFC–0CFF
4 bytes
PCI configuration data registers
FF00–FF07
8 bytes
ATA bus master registers
FF80–FF9F
32 bytes
Universal serial bus
FFA0–FFA7
8 bytes
Primary bus master ATA registers
FFA8–FFAF
8 bytes
Secondary bus master ATA registers
245
246
Chapter 4
Motherboards and Buses
To find out exactly what your devices are using, I recommend consulting the documentation for the
device or looking up the device in the Windows Device Manager. Note that the documentation for
some devices might list only the starting address instead of the full range of I/O port addresses used.
Virtually all devices on the system buses use I/O port addresses. Most of these are fairly standardized,
meaning conflicts or problems won’t often occur with these settings. In the next section, you learn
more about working with I/O addresses.
Resolving Resource Conflicts
The resources in a system are limited. Unfortunately, the demands on those resources seem to be
unlimited. Depending upon your system’s design and the adapter cards you might add, you may find
that the potential for resource conflicts increases. This is especially true on systems that have a mixture of ISA and PCI slots or systems that use legacy ports (serial, parallel, keyboard, and mouse).
How do you know whether you have a resource conflict? Typically, one of the devices in your system
stops working. Resource conflicts can exhibit themselves in other ways, though. Any of the following
events could be diagnosed as a resource conflict:
■ A device transfers data inaccurately.
■ Your system frequently locks up.
■ Your sound card doesn’t sound quite right.
■ Your mouse doesn’t work.
■ Garbage appears on your video screen for no apparent reason.
■ Your printer prints gibberish.
■ You can’t format a floppy disk.
■ The PC starts in Safe mode (Windows 9x/Me) or can start only in Last Known Good
Configuration (Windows 2000 and newer).
Windows also shows conflicts by highlighting a device in yellow or red in the Device Manager representation. By using the Windows Device Manager, you can usually spot the conflicts quickly.
In the following sections, you learn some of the steps you can take to head off resource conflicts or
track them down when they occur.
Tip
The serial, PS/2 mouse, and parallel ports still found in some systems are legacy (ISA) devices that cannot share IRQs. If
you no longer use these ports, you can use these devices’ IRQs for other devices if you do the following:
■ Disable the unused port in the system BIOS.
■ Configure the system BIOS to use the IRQ formerly used by the device(s) for PnP configuration. (This might be automatic in some systems.)
Another way you can help is to install cards in a particular sequence, and not all at once. Modifying
the installation sequence often helps because many cards can use only one or two out of a predefined
selection of IRQs that is specific to each brand or model of card. When the cards are installed in a
controlled sequence, the PnP software can more easily work around IRQ conflicts caused by the
default configurations of different cards.
Resolving Resource Conflicts
Chapter 4
247
On initial startup, I recommend a minimum configuration with only the graphics card, memory, and
storage drives. This allows for the least possibility of system conflicts in the initial configuration. If
your motherboard came with drivers specific to the chipset or other built-in features of the board,
now is the time to load or install them. Complete the configuration of all built-in devices before
installing other cards or external devices.
After the basic system has been configured (and after you have successfully loaded your OS and any
updates or patches), you can begin adding one device at a time in a specific order. So, you will power
down, install the new device, power up, and proceed to install any necessary drivers and configure
the device. You’ll probably have to restart your system after you are done to fully complete the configuration.
Tip
I sometimes recommend that, between installing devices, you enter the Device Manager in Windows and print the
resource settings as they are configured at the time. This way, you have a record of how the configuration changes during
the entire device installation and configuration process.
If you need to add additional cards to your system, here’s the loading sequence I recommend:
1. Sound card
2. Internal or external modem
3. Network card
4. SCSI, SASI or RAID adapter
5. Anything else
Normally, using this controlled sequence of configuring or building up your system results in easier
integration with fewer conflicts and configuration hassles.
PnP
PnP represents a major revolution in interface technology. PnP first came on the market in 1995, and
most motherboards and adapter cards since 1996 take advantage of it. Prior to that, PC users were
forced to muddle through a nightmare of DIP switches and jumpers every time they wanted to add
new devices to their systems. The results, all too often, were system resource conflicts and nonfunctioning cards.
PnP was not an entirely new concept. It was a key design feature of MCA and EISA interfaces that preceded it by almost 10 years, but the limited appeal of MCA and EISA meant that they never became
true de facto industry standards. Therefore, mainstream PC users still had to worry about I/O
addresses, DMA channels, and IRQ settings. Early PCI-based systems also used a form of PnP configuration, but because there was no provision for managing conflicts between PCI and ISA cards, many
users still had configuration problems. However, PnP and the replacement of ISA by PCI, AGP, and
PCIe slots (all of which are designed to work natively with PnP)enables worry-free hardware setup for
all computer buyers.
For PnP to work, the following components are desired:
■ PnP hardware
■ PnP BIOS
■ PnP OS
248
Chapter 4
Motherboards and Buses
Each of these components needs to be PnP compatible, meaning that it complies with the PnP specifications. Of course, support for these features is found in all modern systems.
The Hardware Component
The hardware component refers to both computer systems and adapter cards. PnP adapter cards communicate with the system BIOS and the OS to convey information about which system resources are
necessary. The BIOS and OS, in turn, resolve conflicts (wherever possible) and inform the adapter card
which specific resources it should use. The adapter card then can modify its configuration to use the
specified resources.
The BIOS Component
The BIOS component means that any systems built in 1996 or earlier need BIOS updates to support
PnP. Newer systems have PnP BIOSes. For a BIOS to be compatible, it must support 13 additional system function calls, which can be used by the OS component of a PnP system. The PnP BIOS specification was developed jointly by Compaq, Intel, and Phoenix Technologies.
The PnP features of the BIOS are implemented through an expanded POST. The BIOS is responsible
for identification, isolation, and possible configuration of PnP adapter cards. The BIOS accomplishes
these tasks by performing the following steps:
1. Disables any configurable devices on the motherboard or on adapter cards
2. Identifies any PnP PCI or ISA devices
3. Compiles an initial resource-allocation map for ports, IRQs, DMAs, and memory
4. Enables I/O devices
5. Scans the ROMs of ISA devices
6. Configures initial program-load (IPL) devices, which are used later to boot the system
7. Enables configurable devices by informing them which resources have been assigned to them
8. Starts the bootstrap loader
9. Transfers control to the OS
The OS Component
The OS component is found in most modern OSs since Windows 95. In some cases, system manufacturers have provided extensions to the OS for their specific hardware. Such is especially true for notebook systems, for example. Be sure you load these extensions if your system requires them.
It is the responsibility of the OS to inform users of conflicts that the BIOS can’t resolve. Depending on
the sophistication of the OS, the user then could configure the offending cards manually (onscreen)
or turn off the system and set switches on the physical cards. When the system is restarted, it is
checked for remaining (or new) conflicts, all of which are brought to the user’s attention. Through
this repetitive process, all system conflicts are resolved.
Note
Because of revisions in some of the PnP specifications, especially the ACPI specification, it can help to ensure that you are
running the latest BIOS and drivers for your system. With the flash ROM used in most PnP systems, you can download the
new BIOS image from the system vendor or manufacturer and run the supplied BIOS update program.
Motherboard Selection Criteria (Knowing What to Look For)
Chapter 4
249
Motherboard Selection Criteria (Knowing What
to Look For)
I am often asked to make recommendations for purchases. Without guidance, many individuals have
no rhyme or reason for their selections and instead base their choices solely on magazine reviews or,
even worse, on some personal bias. To help eliminate this haphazard selection process, I have developed a simple motherboard selection checklist.
It helps to think like an engineer when you make your selection. Consider every aspect and detail of
the motherboards in question. For instance, you should consider present usage as well as future uses
and upgrades. Technical support at a professional (as opposed to a user) level is extremely important.
Check for manual and driver downloads: Are they easy to find and up to date? The following list
includes some of the most important criteria to consider when selecting a motherboard:
■ Motherboard chipset—The motherboard chipset is the backbone of a system and is perhaps
the single most important part of the motherboard. Compare the features of the available
chipsets to ensure that the board will do what you want. For example, some chipsets include
support for faster memory, PCIe 2.x cards, SATA 6Gbps drives, and optional RAID capabilities. I
spend the most time deciding on my next chipset because it affects and influences virtually
every other component in the system.
■ Processor socket—The processor socket on a motherboard dictates the specific processor
makes and models you will be able to install. In most cases you will have a given processor in
mind, so choose a motherboard with a socket that supports the processor you want to use. The
main sockets in use today on new systems include Socket AM2, AM3 and AM3+ for AMD
processors, and Sockets LGA775, LGA1156, LGA1155, and LGA1366 for Intel processors. See
Table 4.6 (which lists CPU socket specifications) to see what types of processors are supported
by each socket. Also check the motherboard specifications for what specific processors are supported by a given motherboard.
■ Memory—The type and amount of memory compatible with a system depends on the motherboard you choose. Most motherboards today support either DDR2 or DDR3 memory, in either
single-, dual-, or triple-channel operation. The number of memory sockets, supported speeds,
and other variables also depend on the motherboard, so check the board specifications to see
exactly what is supported.
■ Form factor—The form factor indicates the size and shape of the board and must be compatible with the chassis or case and power supply. For maximum flexibility, performance, reliability,
and ease of use, I recommend motherboards based on the ATX and microATX form factors.
Larger form factors such as ATX offer more slots and room for additional integrated components and features. Smaller variations on ATX are also available, but in the end you need to be
sure that the motherboard is compatible with the case and power supply you have chosen.
■ Bus slots—Current systems offer one to five or more PCI and PCI Express slots (depending on
the form factor). Some boards have more than one PCIe x16 (video card) slot, which you may
want if you are running multiple video cards in an SLI or Crossfire X arrangement. Make sure
the board you choose has the number and types of slots you require. Keep in mind that PCI is
fading away on the latest motherboards, so if you want to use existing PCI cards, make sure you
choose a motherboard that has enough PCI slots or has integrated ports that replace the functionality of your PCI cards.
■ Onboard ATA interfaces—All motherboards on the market have included onboard Serial and
Parallel ATA interfaces for some time now, but not all are equal. Look for boards that include at
least four to six SATA connectors, with support for 6Gbps operation as well as optional RAID
functionality (if desired).
250
Chapter 4
Motherboards and Buses
■ Other built-in interfaces—Ideally, a motherboard should contain as many built-in standard
controllers and interfaces as possible. Most boards feature integrated USB, sound, and LAN (look for
those offering gigabit Ethernet), whereas others also have integrated video, FireWire, eSATA, dual
LAN adapters, and more. Motherboards with the latest generation of USB (USB 3.0) and SATA
(6Gbps) are likely to cost more than boards using USB 2.0 and SATA 3Gbps, but by the time you
add expansion cards to gain these features, the total cost of upgrading a board lacking these features added to the original motherboard cost usually makes the board with faster ports a better buy.
Tip
With a never-ending stream of motherboards coming onto the market, finding motherboards with the features you want can
be difficult. Online shopping sites such as NewEgg (www.newegg.com) can be useful for finding out what types of boards
are currently available, but for a more comprehensive search, Motherboard Homeworld’s Mobot search engine helps you
find both current and older motherboards based on your choice of form factor, platform, chipset, CPU type, processor, manufacturer, memory type, slot types, built-on ports, and more. Check it out at www.motherboards.org/mobot.
■ Documentation—Good technical documentation is important. Documents should be easy to
download from the manufacturer’s site and should include information on any and all jumpers
and switches found on the board, connector pinouts for all connectors, specifications for other
plug-in components, and any other applicable technical information. Most vendors provide this
information in electronic form (using the Adobe Reader PDF format) on their websites, so you
can preview the information available for a given motherboard before you buy.
■ Technical support—Good online technical support goes beyond documentation. It includes easily downloadable driver and BIOS updates, FAQs, updated tables of processor and memory compatibility, and utility programs to help you monitor the condition of your system. In addition to these
online support features, make sure the vendor can be contacted through email and by phone.
Most of the time I recommend purchasing boards from better-known motherboard manufacturers
such as GIGABYTE, Foxconn, and Intel. These boards might cost a little more, but there is some safety
in the more well-known brands. That is, the more boards they sell, the more likely that any problems
will have been discovered by others and solved long before you get yours. Also, if service or support is
necessary, the larger vendors are more likely to be around in the long run.
Chipset Documentation
As mentioned, documentation is an important factor to consider when you’re planning to purchase a
motherboard. Most motherboard manufacturers design their boards around a particular chipset,
which actually counts as the bulk of the motherboard circuitry. I recommend downloading the
chipset datasheets or other technical documentation directly from the chipset manufacturer.
For example, one of the more common questions I hear about a system relates to the BIOS Setup program. People want to know what the “Advanced Chipset Setup” features mean and what the effects of
changing them will be. Often they go to the BIOS manufacturer thinking that the BIOS documentation will offer help. Usually, however, people find that there is no real coverage of what the chipset
setup features are in the BIOS documentation. You will find this information in the data book provided by the chipset manufacturer. Although these books are meant to be read by the engineers who
design the boards, they contain all the detailed information about the chipset’s features, especially
those that might be adjustable. With the chipset data book, you will have an explanation of all the
controls in the Advanced Chipset Setup section of the BIOS Setup program.
Besides the main chipset datasheets, I recommend collecting any data books on the other major chips
in the system. This includes Super I/O chips, SATA controllers, and of course the main processor. You
will find an incredible amount of information on these components in the datasheets.
Chapter
5
BIOS
BIOS Basics
It is often difficult for people to understand the difference between hardware and software in a PC
system. The differences can be difficult to understand because both are very much intertwined in
the system design, construction, and operation. However, understanding these differences is essential to understanding the role of the BIOS in the system.
BIOS stands for basic input/output system, which consists of low-level software that controls the system hardware and acts as an interface between the operating system (OS) and the hardware. Most
people know the term BIOS by another name—device drivers, or just drivers. In other words, the
BIOS is drivers, meaning all of them. It’s essentially the link between hardware and software in a
system.
The BIOS consists of software that interfaces the hardware to the OS. The BIOS is unique compared
to normal software in that some of it is preloaded into read-only memory (or ROM), and some is
loaded into RAM from disk.
The BIOS in a running PC is loaded during the system startup from three possible sources:
■ Motherboard ROM
■ Adapter card ROMs (such as that found on a video card)
■ Loaded into RAM from disk (device drivers)
When the PC was introduced, the BIOS software containing all the device drivers for the entire system was collectively burned into one or more nonvolatile read-only memory (ROM) chips (nonvolatile means they retain their data even when the power is turned off) and placed on the
motherboard. In essence, the drivers were self-contained, preloaded into memory, and accessible
any time the PC was powered on.
This ROM chip also contained a power-on self test (POST) program and a bootstrap loader. The
bootstrap program was designed to initiate the loading of an OS by checking for and loading the
boot sector from a floppy disk or, if one was not present, a hard disk. After the OS was loaded, it
252
Chapter 5
BIOS
could call on the low-level routines (device drivers) in the BIOS to interact with the system hardware.
In the early days, all the necessary device drivers were in the BIOS stored in the motherboard ROM.
This included drivers for the keyboard, MDA/CGA video adapters, serial/parallel ports, floppy controller, hard disk controller, joystick, and clock.
When the OS loaded, you didn’t have to load a driver to interact with those pieces of hardware
because the drivers were already preloaded in the ROM. That worked great as long as you didn’t add
new hardware for which there wasn’t a driver in ROM. If you did, you then had two choices. If the
hardware you were adding was an adapter card, that card could include a ROM onboard containing
the necessary device drivers. The motherboard ROM was programmed to scan a predetermined area of
memory looking for any adapter card ROMs, and if any were found, their code was executed, essentially adding their functionality to the existing BIOS. In essence, the motherboard ROM “assimilated”
any adapter card ROMs, adding to the “collective” functionality.
This method of adding drivers was required for items such as video cards, which needed to be functional immediately when the PC was powered on. The BIOS code in the motherboard ROM had
drivers only for the IBM monochrome display adapter (MDA) and color graphics adapter (CGA) video
cards. If you added a video card other than those, the drivers in the motherboard ROM would not
support it. That wouldn’t be a problem if the new video card had its own drivers in an onboard ROM
that would be linked into the BIOS immediately upon throwing the power switch.
If the device did not have an on-board ROM connected to the main system bus, there had to be
another way to add the necessary driver to the BIOS collective. A scheme was devised whereby, during
the early stages of loading, the MS-DOS startup file (IO.SYS) checked for a configuration file (called
CONFIG.SYS) that specified any additional drivers to load to support new hardware. The CONFIG.SYS
file, along with any drivers named within, would be placed on the boot drive. When booting, the
IO.SYS program would load the specified drivers into memory and link them into the rest of the
BIOS, again adding their functionality to the collective whole. In essence, these drivers were loaded
from disk into RAM and linked into the BIOS so they could be called on when necessary.
At this point, the BIOS had grown from being entirely contained in the motherboard ROM, to having
additional drivers linked in from adapter card ROMs, to having even more drivers linked in after
being loaded into RAM during the early stages of the boot process. The BIOS was now constructed of
programs located in three physical locations in the system, yet it functioned as a single entity because
all the programs were linked via the BIOS subroutine calling system-of-software interrupts. The OS or
an application program needing to talk to a specific piece of hardware (for example, to read from the
CD-ROM drive) would make a call to a specific software interrupt, and the interrupt vector table
would then route the call to the specific part of the BIOS (meaning the specific driver) for the device
being called. It did not matter whether that driver was in the motherboard ROM, adapter ROM, or
RAM. As far as the system was concerned, memory is memory, and as long as the routine existed at a
known memory address, it could be called.
The combination of the motherboard ROM, adapter card ROM, and device drivers loaded from disk
into RAM contributed to the BIOS as a whole. The portion of the BIOS contained in ROM chips, both
on the motherboard and in some adapter cards, is sometimes called firmware, which is a name given
to software stored in ROM chips rather than on disk. Of course, after you turned off the system, the
drivers in nonvolatile ROM would remain intact, but those in volatile RAM would instantly vanish.
That was not a problem, however, because the next time the system was turned back on, it went
through the boot process and loaded the necessary drivers from disk all over again.
As the PC has evolved, more and more accessories and new hardware have been devised to add to the
system. This means that more and more drivers have to be loaded to support this hardware. Adding
new drivers to the motherboard ROM is difficult because ROM chips are relatively fixed (difficult to
BIOS Basics
Chapter 5
253
change) and limited space is available. The PC architecture allows only 128KB for the motherboard
ROM, and most of it was already used by the existing drivers, POST, BIOS Setup program, and of
course the bootstrap loader. Also, putting drivers on adapter card ROMs is expensive, and only 128KB
is allocated for all adapter card ROMs, not to mention the fact that the video card takes 32KB of that.
So, most companies developing new hardware for the PC simply wrote drivers designed to be loaded
into RAM during the boot process.
As time went on, more and more drivers were being loaded from disk—in some cases, even drivers
that were replacing those in the motherboard. For example, Windows 95 introduced a new hard disk
driver that used 32-bit code, which superseded the existing 16-bit driver that existed in the motherboard ROM. In other words, the 16-bit hard disk driver in the motherboard ROM was used to begin
loading the OS and other drivers, and after the 32-bit driver was loaded into RAM during the boot
process, the vector table was changed to point to the 32-bit driver in RAM instead of the 16-bit driver
in ROM. Windows 95, 98, and Me allowed the use of both 16-bit and 32-bit drivers, easing the transition to full 32-bit operation.
When modern 32-bit and 64-bit versions of Windows are run, corresponding 32-bit and 64-bit drivers
are loaded from disk to replace all the drivers in the motherboard ROM. Modern OSs cannot use any
of the 16-bit drivers found in either the motherboard ROMs or any adapter card ROMs and must use
only 32-bit or 64-bit drivers, depending on the version. The 16-bit code in the motherboard ROM is
used only to get the system functioning long enough to get the drivers and OS loaded, at which point
they take over. In other words, once Windows is loaded, the BIOS (meaning all the drivers) essentially
resides entirely in RAM. The motherboard ROM exists only to get the system started, to initialize specific hardware, to offer security in the way of power-on passwords and such, and to perform some
basic initial configuration. After the OS is loaded, a whole new set of drivers takes over.
A PC system can be described as a series of layers—some hardware and some software—that interface
with each other. In the most basic sense, you can break a PC down into four primary layers, each of
which can be broken down further into subsets. Figure 5.1 shows the four layers in a typical PC.
System “A”
Hardware
System “B”
Hardware
Nonstandard
Interface
System “A” ROM BIOS
& Device Drivers
System “B” ROM BIOS
& Device Drivers
Standard
Interface
Operating
System
Application Program
Figure 5.1
Operating
System
Standard
Interface
(API)
Application Program
PC system layers.
The purpose of the layered design is to enable a given OS and applications to run on different hardware. Figure 5.1 shows how two machines with dissimilar hardware can use different sets of drivers
(BIOS) to interface the unique hardware to a common OS and applications. Thus, two machines
with different processors, storage media, video display units, and so on can run the same OS and
applications.
254
Chapter 5
BIOS
In this layered architecture, the application software programs talk to the OS via what is called an
application programming interface (API). The API varies according to the OS you are using and consists
of the various commands and functions the OS can perform for an application. For example, an application can call on the OS to load or save a file. This prevents the application itself from having to
know how to read the disk, send data to a printer, or perform any other of the many functions the OS
can provide. Because the application is completely insulated from the hardware, you can essentially
run the same applications on different machines; the application is designed to talk to the OS rather
than the hardware.
The OS then interfaces with or talks to the BIOS or driver layer. The BIOS consists of all the individual
driver programs that operate between the OS and the actual hardware. As such, the OS never talks to
the hardware directly; instead, it must always go through the appropriate drivers. This provides a consistent way to talk to the hardware. It is usually the responsibility of the hardware manufacturer to
provide drivers for its hardware. Because the drivers must act between both the hardware and the OS,
the drivers typically are OS specific. Thus, the hardware manufacturer must offer different drivers for
different OSs. Because many OSs use the same internal interfaces, some drivers can work under multiple OSs. For example, drivers that work under 32/64-bit versions of Windows 7 usually work under
the corresponding versions of Vista; drivers that work under Windows XP usually work under
Windows 2000 and NT; and drivers that work under Windows Me usually work under Windows 98
and 95. This is because Windows 7 and Vista are essentially variations on the same core OS, as are
Windows XP, Windows 2000, and NT, and Windows 95, 98, and Me. Although Windows 7 and Vista
were based on Windows NT, the driver model has changed enough that they generally can’t use the
same drivers as XP and earlier NT-based OSs.
Because the BIOS layer looks the same to the OS no matter what hardware is above it (or underneath,
depending on your point of view), the same OS can run on a variety of systems. For example, you can
run Windows on two systems with different processors, hard disks, video adapters, and so on, yet
Windows will look and feel pretty much the same to the users on both of them. This is because the
drivers provide the same basic functions no matter which specific hardware is used.
As you can see from Figure 5.1, the application and OS’s layers can be identical from system to system, but the hardware can differ radically. Because the BIOS consists of drivers that act to interface
the hardware to the software, the BIOS layer adapts to the unique hardware on one end but looks
consistently the same to the OS at the other end.
The hardware layer is where most differences lie between the various systems. It is up to the BIOS to
mask the differences between unique hardware so that the given OS (and subsequently the application) can be run. This chapter focuses on the BIOS layer of the PC.
BIOS and CMOS RAM
Some people confuse BIOS with the CMOS RAM in a system. This confusion is aided by the fact that the Setup program
in the BIOS is used to set and store the configuration settings in the CMOS RAM. They are, in fact, two separate
components.
The BIOS on the motherboard is stored in a fixed ROM chip. Also on the motherboard is a chip called the RTC/NVRAM
chip, which stands for real-time clock/nonvolatile memory. This is where the settings in the BIOS Setup are stored, and it
is actually a clock chip with a few extra bytes of memory thrown in. It is usually called the CMOS chip because it happens to be made using CMOS (complementary metal-oxide semiconductor) technology.
The first example of this ever used in a PC was the Motorola MC146818 chip, which had 64 bytes of storage, of which
14 bytes were dedicated to the clock function, leaving 50 bytes to store BIOS Setup settings. Although it is called nonvolatile, the chip is actually volatile, meaning that without power, the time/date settings and the data in the RAM portion
Motherboard ROM BIOS
Chapter 5
255
will in fact be erased. Many consider this chip nonvolatile because it is designed using CMOS technology, which results
in a chip that requires little power compared to other chips. A small battery can provide that power when the system is
unplugged. This battery-powered clock/memory chip is commonly referred to as “the” CMOS RAM chip; although that is
somewhat misleading (almost all modern chips use a form of CMOS technology), the term has stuck. Most RTC/NVRAM
chips run on as little as 1 micro amp (millionth of an amp), so they use little battery power to run. Most lithium coin cell
batteries can provide power to one of these chips for five years or more before they die and the information stored (including the date and time) is lost.
When you enter the BIOS Setup, configure settings, and save them, the settings are written to the storage area in the
RTC/NVRAM chip (otherwise called the CMOS RAM chip). Every time your system boots up, software in the BIOS reads
the parameters stored in the CMOS RAM chip to determine how to configure the system. A relationship exists between the
BIOS and CMOS RAM, but they are two distinct parts of the system.
Some systems used special versions of these chips made by Dallas Semiconductor, Benchmarq, or Odin (such as the
DS12885 and DS12887) that include both the RTC/NVRAM chip and the battery in a single component. However,
those are uncommon in modern systems today. Although the so-called CMOS RAM chip started out as a discrete chip on
the motherboard, in modern systems it is no longer a separate chip, but instead included as one of the functions in the
South Bridge, I/O Controller Hub, or Platform Controller Hub component of the motherboard chipset.
Motherboard ROM BIOS
All motherboards have a special chip containing software called the ROM BIOS. This ROM chip contains the startup programs and drivers that get the system running and act as the interface to the
basic hardware in the system. When you turn on a system, the POST in the BIOS also tests the major
components in the system. Additionally, you can run a setup program to store system configuration
data in the CMOS memory, which is powered by a battery on the motherboard. This CMOS RAM is
often called NVRAM (nonvolatile RAM) because it runs on about 1 millionth of an amp of electrical
current and can store data for years when powered by a tiny lithium battery.
The motherboard ROM contains a collection of programs embedded in one or more chips, depending
on the design of your computer. That collection of programs is the first thing loaded when you start
your computer, even before the OS. Simply put, the BIOS in most PCs has four main functions:
■ POST—The POST tests your computer’s processor, memory, chipset, video adapter, disk controllers, disk drives, keyboard, and other crucial components.
■ Setup—The system configuration and setup program is usually a menu-driven program activated by pressing a special key during the POST. It enables you to configure the motherboard
and chipset settings along with the date and time, passwords, disk drives, and other basic system settings. You also can control the power-management settings and boot-drive sequence
from the BIOS Setup, and on some systems, you can also configure CPU timing and clockmultiplier settings. Some older 286 and 386 systems did not have the Setup program in ROM
and required that you boot from a special setup disk. Also, some newer systems use a Windowsbased application to access BIOS Setup settings.
■ Bootstrap loader—A routine that reads the first physical sector of various disk drives looking
for a valid master boot record (MBR). If one meeting certain minimum criteria (ending in the
signature bytes 55AAh) is found, the code within is executed. The MBR program code then continues the boot process by reading the first physical sector of the bootable volume, which is the
start of the volume boot record (VBR). The VBR then loads the first OS startup file, which is
usually IO.SYS (Windows 9x/Me), ntldr (Windows XP/2000/NT), or bootmgr (Windows 7/Vista).
The OS is then in control and continues the boot process.
256
Chapter 5
BIOS
■ BIOS—This refers to the collection of actual drivers that act as a basic interface between the OS
and your hardware when the system is booted and running. When running DOS or Windows in
Safe mode, you are running almost solely on ROM-based BIOS drivers because none are loaded
from disk.
ROM Hardware
Read-only memory (ROM) is a type of memory that can permanently or semi-permanently hold data. It
is called read-only because it is either impossible or difficult to write to. ROM is also often called nonvolatile memory because any data stored in ROM remains even if the power is turned off. As such,
ROM is an ideal place to put the PC’s startup instructions—that is, the software that boots the system
(the BIOS).
Note that ROM and RAM are not opposites, as some people seem to believe. In fact, ROM is technically a subset of the system’s RAM. In other words, a portion of the system’s random access memory
address space is mapped into one or more ROM chips. This is necessary to contain the software that
enables the PC to boot up; otherwise, the processor would have no program in memory to execute
when it is powered on.
For example, when a PC is turned on, the processor automatically jumps to address FFFF0h, expecting
to find instructions to tell the processor what to do. This location is exactly 16 bytes from the end of
the first megabyte of RAM space, as well as the end of the ROM. If this location were mapped into
regular RAM chips, any data stored there would have disappeared when the power was previously
turned off, and the processor would subsequently find no instructions to run the next time the power
was turned on. By placing a ROM chip at this address, a system startup program can be permanently
loaded into the ROM and will be available every time the system is turned on.
◊◊
For more information about dynamic RAM, see “DRAM,” p. 317 (Chapter 6, “Memory”).
Normally, the system ROM starts at address E0000h or F0000h, which is 128KB or 64KB prior to the
end of the first megabyte. Because the ROM chip usually is up to 128KB in size, the ROM programs
are allowed to occupy the entire last 128KB of the first megabyte, including the critical FFFF0h startup
instruction address, which is located 16 bytes from the end of the BIOS space. Some motherboard
ROM chips are larger, up to 256KB or 512KB in size. The additional code in these is configured to act
as a video card ROM (addresses C0000h–C7FFFh) on motherboards with built-in video and might
even contain additional ROM drivers configured anywhere from C8000h to DFFFFh to support additional onboard devices, such as RAID or network adapters.
Figure 5.2 shows a map of the first megabyte of memory in a PC; notice the upper memory areas
reserved for adapter card and motherboard ROM BIOS at the end of the first megabyte.
Some think it is strange that the PC would start executing BIOS instructions 16 bytes from the end of
the ROM, but this design is intentionally built in to Intel’s x86 processors. All the ROM programmer
has to do is place a JMP (jump) instruction at that address that instructs the processor to jump to the
actual beginning of the ROM—in most cases, close to F0000h—which is about 64KB earlier in the
memory map. It’s like deciding to read every book starting 16 pages from the end and then having all
book publishers agree to place an instruction there to jump back the necessary number of pages to get
to page 1. By setting the processor startup location in this way, Intel enabled the ROM to grow to be
any size, all the while keeping it at the upper end of addresses in the first megabyte of the memory
address space.
Adapter card ROMs are automatically scanned and read by the motherboard ROM during the early
part of the boot process—during the POST. The motherboard ROM scans a special area of RAM
reserved for adapter ROMs (addresses C0000–DFFFFh) looking for 55AAh signature bytes. This area
indicates the start of a ROM.
Motherboard ROM BIOS
.
G
M
C
V
a
r
R
=
=
=
=
=
=
=
=
Chapter 5
257
RAM
Graphics Mode Video RAM
Monochrome Text Mode Video RAM
Color Text Mode Video RAM
Video adapter ROM BIOS
Reserved for other adapter board ROM
Additional Motherboard ROM BIOS in some systems
Motherboard ROM BIOS
Conventional (Base) Memory
:
000000:
010000:
020000:
030000:
040000:
050000:
060000:
070000:
080000:
090000:
0---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
Upper Memory Area (UMA)
:
0A0000:
0B0000:
:
0C0000:
0D0000:
:
0E0000:
0F0000:
Figure 5.2
0---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
0---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
PC memory map showing ROM BIOS.
All adapter ROMs must start with 55AAh; otherwise, the motherboard won’t recognize them. The
third byte indicates the size of the ROM in 512-byte units called paragraphs, and the fourth byte is the
actual start of the driver programs. The motherboard ROM uses the size byte for testing purposes. The
motherboard ROM adds all the bytes in the ROM and divides the sum by the number of bytes. The
result should produce a remainder of 100h. Thus, when creating a ROM for an adapter, the programmer typically uses a “fill” byte at the end to get the checksum to come out right. Using this checksum, the motherboard tests each adapter ROM during the POST and flags any that appear to have
been corrupted.
The motherboard ROM automatically runs the programs in any adapter ROMs it finds during the
scan. You see this in most systems when you turn them on, and during the POST you see the video
card BIOS initialize and announce its presence.
ROM Shadowing
ROM chips by nature are slow, with access times of 150ns (nanoseconds, or billionths of a second),
compared to dynamic RAM (DRAM) access times of well under 10ns on most systems. Because of this,
in virtually all systems the ROMs are shadowed, which means they are copied into RAM at startup to
allow faster access during normal operation. The shadowing procedure copies the ROM into RAM and
then assigns that RAM the same address as the ROM originally used, disabling the actual ROM in the
process. This makes the system seem as though it has ROM running at the same speed as RAM.
258
Chapter 5
BIOS
The performance gain from shadowing adapter card ROMs is often slight, and it can cause problems if
not set up properly. Therefore, in most cases, it is wise to shadow only the motherboard (and maybe
the video card BIOS) and leave the others alone.
Typically, shadowing is useful only if you are running a 16-bit OS, such as DOS or Windows 3.x. If
you are running a 32-bit or 64-bit OS, shadowing is virtually useless because those OSs do not use the
16-bit ROM code while running. Instead, those OSs load drivers into RAM, which replace the 16-bit
ROM code used only during system startup.
If present, shadowing options are found in the CMOS Setup program in the motherboard ROM,
which is covered in more detail in the section titled “CMOS Setup.”
ROM Chip Types
The four main types of ROM chips that have been used in PCs are as follows:
■ ROM—Read-only memory
■ PROM—Programmable ROM
■ EPROM—Erasable PROM
■ EEPROM—Electrically erasable PROM, also sometimes called a flash ROM
No matter which type of ROM your system uses, the data stored in a ROM chip is nonvolatile and
remains indefinitely unless intentionally erased or overwritten (in those cases where that is possible).
ROM (True or Mask ROM)
Originally, most ROMs were manufactured with the binary data (0s and 1s) already “cast in” or integrated into the die. The die represents the actual silicon chip. These are called mask ROMs because the
data is formed into the mask from which the ROM die is photolithographically produced. This type of
manufacturing method is economical if you are making hundreds of thousands of ROMs with the
same information. If you must change a single bit, however, you must remake the mask, which is an
expensive proposition. Because of costs and inflexibility, nobody uses mask ROMs anymore.
Mask ROMs are exactly analogous to prerecorded CD-ROMs. Some people think a CD-ROM is first
manufactured as a blank and then the data is written to it by a laser, but that is not true. A CD-ROM
is literally a piece of plastic that is stamped in a press, and the data is directly molded in, not written.
The only actual recording is done with the master disc from which the molds or stamps are made.
PROM
PROMs are a type of ROM that is blank when new and must be programmed with whatever data you
want. The PROM was invented in the late 1970s by Texas Instruments and has been available in sizes
from 1KB (8Kb) to 2MB (16Mb) or more. PROMs can be identified by their part numbers, which usually are 27nnnn—where the 27 indicates the TI type PROM and the nnnn indicates the size of the
chip in kilobits (not bytes). For example, most PCs that used PROMs came with 27512 or 271000
chips, which indicate 512Kb (64KB) or 1Mb (128KB), respectively.
Note
Since 1981, all cars sold in the United States have used onboard computers with some form of ROM containing the control software. For example, the 1989 Pontiac Turbo Trans Am I had came with an onboard computer containing a 2732
PROM, which was a 32Kb (4KB) chip in the ECM (electronic control module or vehicle computer) under the dash. This
chip contained the vehicle operating software as well as all the data tables describing spark advance, fuel delivery, and
other engine and vehicle operating parameters. Many devices with integrated computers use PROMs to store their operating programs.
Motherboard ROM BIOS
Chapter 5
259
Although we say these chips are blank when new, they are technically preloaded with binary 1s. In
other words, a 1Mb ROM chip used in a PC would come with 1 million (actually 1,048,576) bit locations, each containing a binary 1. A blank PROM can then be programmed, which is the act of writing to it. This usually requires a special machine called a device programmer, ROM programmer, or
ROM burner (see Figure 5.3).
KE/EPROM/P
AL/GA
PROGRAMM NG/SET
ER
SKT 1
Figure 5.3
SKT 2
SKT 3
SKT 4
Typical gang (multisocket) device programmer (PROM burner).
Programming the ROM is sometimes referred to as burning it because that is technically an apt
description of the process. You can think of each binary 1 bit as a fuse, which is intact. Most chips
run on 5 volts, but when a PROM is programmed, a higher voltage (normally 12 volts) is placed at the
various addresses within the chip. This higher voltage actually blows or burns the fuses at the desired
locations, thus turning any given 1 into a 0. Although you can turn a 1 into a 0, you should note that
the process is irreversible; that is, you can’t turn a 0 back into a 1.
The device programmer examines the program you want to write into the chip and then selectively
changes only the 1s to 0s where necessary in the chip.
PROM chips are often referred to as one-time programmable (OTP) chips for this reason. They can be
programmed once and never erased. Most PROMs are inexpensive (about $3 for a typical PC motherboard PROM), so if you want to change the program in a PROM, you discard it and program a fresh
one with the new data.
The act of programming a PROM takes anywhere from a few seconds to a few minutes, depending on
the size of the chip and the algorithm the programming device uses. Figure 5.3 shows an illustration
of a typical PROM programmer that has multiple sockets. This is called a gang programmer, and it can
program several chips at once, saving time if you have several chips to write with the same data. Less
expensive programmers are available with only one socket, which is fine for most individual use.
I use and recommend a programmer from a company called Andromeda Research Labs
(www.arlabs.com).
Custom Programming of PROM Chips
I even used a PROM programmer to reprogram the chip in an 1989 Turbo Trans Am, changing the factory preset speed
and rpm limiters, turbocharger boost, torque converter lockup points, spark advance, fuel delivery, idle speed, and much
more! I also incorporated a switch box under the dash that enables me to switch from among four different chips, even
while the vehicle is running. One chip I created I called a “valet chip,” which, when engaged, cuts off the fuel injectors at
260
Chapter 5
BIOS
36 miles per hour and restarts them when the vehicle coasts down to 35 mph. Another chip I created cuts off fuel to the
engine altogether, which I engage for security purposes when the vehicle is parked. If you are interested in such a chipswitching device or custom chips for your Turbo Trans Am or Buick Grand National, I recommend you contact Casper’s
Electronics (www.casperselectronics.com).
EPROM
One variation of the PROM that has been popular is the EPROM. An EPROM is a PROM that is
erasable. An EPROM chip can be easily recognized by the clear quartz crystal window set in the chip
package directly over the die (see Figure 5.4). You can actually see the die through the window!
EPROMs have the same 27xxxx part-numbering scheme as the standard PROM, and they are functionally and physically identical except for the clear quartz window above the die.
Figure 5.4
An EPROM showing the quartz window for ultraviolet erasing.
The purpose of the window is to allow ultraviolet light to reach the chip die because the EPROM is
erased by exposure to intense UV light. The window is quartz crystal because regular glass blocks UV
light. You can’t get a suntan through a glass window!
Note
The quartz window makes the EPROMs more expensive than the OTP PROMs. This extra expense is needless if erasability
is not important.
The UV light erases the chip by causing a chemical reaction, which essentially melts the fuses back
together. Thus, any binary 0s in the chip become 1s, and the chip is restored to a new condition
with binary 1s in all locations. To work, the UV exposure must be at a specific wavelength (2,537
angstroms), at a fairly high intensity (12,000 uw/cm2), in close proximity (2cm–3cm, or about 1 inch),
and last for between 5 and 15 minutes. An EPROM eraser is a device that contains a UV light source
(usually a sunlamp-type bulb) above a sealed compartment drawer in which you place the chip or
chips (see Figure 5.5).
Motherboard ROM BIOS
Figure 5.5
Chapter 5
261
A professional EPROM eraser.
This figure shows a professional-type EPROM eraser that can handle up to 50 chips at a time. I use a
much smaller and less expensive one that erases up to four chips at a time and is both economical
and portable. Several low-cost EPROM erasers are sold by DigiKey (www.digikey.com) and other
sources of EPROM programming equipment.
The quartz crystal window on an EPROM typically is covered by tape, which prevents accidental
exposure to UV light. UV light is present in sunlight, of course, and even in standard room lighting,
so that over time a chip exposed to the light can begin to degrade. For this reason, after a chip is programmed, you should put a sticker over the window to protect it.
EEPROM/Flash ROM
A newer type of ROM is the EEPROM, which stands for electrically erasable PROM. These chips are also
called flash ROMs and are characterized by their capability to be erased and reprogrammed directly in
the circuit board they are installed in, with no special equipment required. By using an EEPROM, or
flash ROM, you can erase and reprogram the motherboard ROM in a PC without removing the chip
from the system or even opening the system chassis.
With a flash ROM or EEPROM, you don’t need a UV eraser or device programmer to program or erase
chips. Not only do virtually all PC motherboards built since 1994 use flash ROMs or EEPROMs, but
most automobiles built since then use them as well.
The EEPROM or flash ROM can be identified by a 28xxxx or 29xxxx part number, as well as by the
absence of a window on the chip. Having an EEPROM or a flash ROM in your PC motherboard means
you now can easily upgrade the motherboard ROM without having to swap chips. In most cases, you
download the updated ROM from the motherboard manufacturer’s website and then run a special
program it provides to update the ROM. This procedure is described in more detail later in this
chapter.
I recommend that you periodically check with your motherboard manufacturer to see whether an
updated BIOS is available for your system. An updated BIOS might contain bug fixes or enable new
features or device support not originally found in your system.
◊◊
For more information on updating your PC motherboard flash ROMs, see “Upgrading the BIOS,” p. 265
(this chapter).
262
Chapter 5
BIOS
Non-PC ROM Upgrades
For the auto enthusiasts out there, you might want to do the same for your car; that is, check to see whether ROM
upgrades are available for your vehicle’s computer. Now that updates are so easy and inexpensive, vehicle manufacturers
are releasing bug-fix ROM upgrades that correct operational problems or improve vehicle performance. In most cases,
you must check with your dealer to see whether any new vehicle ROMs are available. If you have a GM car, GM has a
website where you can get information about the BIOS revisions available for your car, which it calls Vehicle Calibrations.
The GM Vehicle Calibration Information site address is http://calid.gm.com.
Besides updates from the vehicle manufacturer, some aftermarket companies produce ROM upgrades for vehicles. If you
are interested in having a custom program installed in your flash ROM–equipped vehicle, I recommend Fastchip
(www.fastchip.com), Hypertech (www.hypertech.com), and Superchips (www.superchips.com). If you want to develop
your own vehicle calibrations, see www.diy-efi.org for more information.
Flash ROM updates can also be used to add new capabilities to existing peripherals—for example,
updating a modem to support newer communications standards or updating optical rewritable drives
to support new media.
These days, many objects with embedded computers controlling them are using flash ROMs; for
example, I have updated the flash ROM code (often called firmware) in hard drives, optical drives, network routers, wireless access points, network attached storage drives, Blu-ray players, digital cameras,
and more. Installing flash ROM or firmware upgrades is as easy as downloading a file from the device
manufacturer website and running the update program included in the file. Who knows, one day you
might find yourself downloading flash ROM upgrades for your toaster!
ROM BIOS Manufacturers
Several popular BIOS manufacturers on the market today supply the majority of motherboard and system manufacturers with the code for their ROMs. This section discusses the various available versions.
Several companies have specialized in the development of a compatible ROM BIOS product. The three
major companies that come to mind in discussing ROM BIOS software are American Megatrends, Inc.
(AMI), Phoenix Technologies, and Award Software (now owned by Phoenix Technologies). Each company licenses its ROM BIOS to motherboard manufacturers so those manufacturers can worry about
the hardware rather than the software. To obtain one of these ROMs for a motherboard, the original
equipment manufacturer (OEM) must answer many questions about the design of the system so that
the proper BIOS can be either developed or selected from those already designed. Combining a ROM
BIOS and a motherboard is not a haphazard task. No single, generic, compatible ROM exists, either.
AMI, Award, and Phoenix ship many variations of their BIOS code to different board manufacturers,
each one custom-tailored to that specific motherboard.
Over the years, some major changes have occurred in the BIOS industry. Intel, perhaps the largest
BIOS customer, has switched between Phoenix and AMI for most of its motherboards. Intel originally
used a Phoenix BIOS core in its motherboards up through 1995, when it changed to an AMI core. It
then used AMI until 1997, when it switched back to Phoenix. In 1999 Intel switched again, this time
back to AMI. In each case note that while Intel gets the core BIOS from Phoenix or AMI, they are
highly customized for the individual motherboards they are installed in.
Another major development occurred in late 1998, when Phoenix bought Award. Since then Phoenix
has sold both the Phoenix and Award BIOS as different products. The Award BIOS is sold as its standard product, whereas the Phoenix BIOS is sold as a more feature-rich BIOS for high-end systems.
Currently, the BIOS market is mostly divided between AMI and Phoenix; however, Phoenix not only
Motherboard ROM BIOS
Chapter 5
263
develops the BIOS for many systems, but also is the primary BIOS developer responsible for new BIOS
development and new BIOS standards.
Another development in recent years has been the creation of separate BIOS products for 32-bit and
64-bit desktop systems, mobile systems, 32-bit and 64-bit servers, and embedded devices. Although all
BIOS chips must perform some of the same tasks, a BIOS product optimized for a mobile computer
often needs additional support for features such as docking modules, advanced battery power management, as well as bootable USB and removable flash memory devices, whereas a BIOS optimized for
a server needs support for features such as advanced hardware monitoring and 64-bit PCI slots. By creating customized BIOS versions for different platforms, BIOS vendors provide support for the features
needed by a particular computing platform and provide better performance and stability.
OEMs
Most OEMs contract with AMI or Phoenix for motherboard BIOS core and then perform their own
customizations for specific chipsets and motherboards. Although most use either the AMI or Phoenix
core offerings, some OEMs have developed their own compatible BIOS ROMs independently.
Companies such as Dell, HP/Compaq, AT&T, and Acer have developed several of their own BIOS
products. In some cases they may have started with an AMI or Phoenix core that they licensed years
ago, and continued development in-house after that.
Even though AMI or Phoenix might have done the initial development, you still must get upgrades or
fixes from the system or motherboard manufacturer. This is really true for all systems because the system or motherboard manufacturers customize the BIOS for their boards.
AMI
The AMI BIOS is one of the most popular BIOSs in PC systems. Some versions of the AMI BIOS are
called Hi-Flex because of the high flexibility found in the BIOS configuration program. The AMI HiFlex BIOS products are used in Intel, AMI, and many other manufacturers’ motherboards. AMI is also
the only third-party BIOS manufacturer to make its own motherboards and other hardware devices.
During power-up, the AMI BIOS ID string is displayed on the lower-left part of the screen. This string
tells you valuable information about which BIOS version you have and about certain settings that the
built-in setup program determines.
Tip
A good trick to help you view the BIOS ID string is to shut down and either unplug your keyboard or hold down a key as
you power it back on. This causes a keyboard error, and the string remains displayed.
You also can download the AMI Motherboard ID Utility program (AMIMBID) from AMI’s website (www.ami.com/support/
mbid.cfm) and run it to determine the contents of ID String 1.
The primary BIOS identification string (ID String 1) is displayed by any AMI BIOS during the POST in
the bottom-left corner of the screen, below the copyright message. Two additional BIOS ID strings (ID
Strings 2 and 3) can be displayed by the AMI Hi-Flex BIOS by pressing the Insert key during the POST.
These additional ID strings display the options installed in the BIOS.
The AMI BIOS has many features, including a built-in setup program normally activated by pressing
the Delete or Esc key within the first few seconds of powering on the system. In most cases the BIOS
prompts you briefly on the screen as to which key to press and when to press it.
264
Chapter 5
BIOS
A unique feature of some of the AMI BIOS versions was that in addition to the setup, they had a builtin, menu-driven diagnostics package—essentially a limited version of the standalone AMIDIAG product. The internal diagnostics are not a replacement for more comprehensive disk-based programs, but
they can help in a pinch. The menu-driven diagnostics do not do extensive memory testing, for
example, and the hard disk low-level formatter works only at the BIOS level rather than at the controller register level. These limitations often have prevented it from being capable of formatting
severely damaged disks. Most newer AMI BIOS versions no longer include the full diagnostics.
AMI produces BIOS upgrades only for its own motherboards. If you have a non-AMI motherboard
with a customized AMI BIOS, you must contact the motherboard or system manufacturer for an
upgrade.
Phoenix Award BIOS
Phoenix now refers to the family of products built on its Award BIOS as Phoenix Award BIOS. For several years it was also called the Phoenix FirstBIOS. The Award BIOS has all the features you expect,
including a built-in setup program activated by pressing a particular key on startup (usually prompted
on the screen). The POST is good, although the few beep codes supported means that a POST card
may be helpful if you want to diagnose power-on fatal error problems. Phoenix provides technical
support for the Award BIOS on its website at www.phoenix.com.
Phoenix
The Phoenix BIOS is currently licensed by Phoenix under the SecureCore brand. For many years it has
been a standard of compatibility by which others are judged. Phoenix was one of the first third-party
companies to legally reverse-engineer the IBM BIOS using a clean-room approach. In this approach, a
group of engineers studied the IBM BIOS and wrote a specification for how that BIOS should work
and what features should be incorporated. This information then was passed to a second group of
engineers who had never seen the IBM BIOS. They could then legally write a new BIOS to the specifications set forth by the first group. This work was then unique and not a copy of IBM’s BIOS; however, it functioned the same way.
The Phoenix BIOS has a built-in setup program that is normally activated by pressing F1 or F2 during
the POST. The Phoenix BIOS includes a built-in setup program normally activated by pressing the F1
or F2 key within the first few seconds of powering on the system. In most cases the BIOS prompts you
briefly on the screen as to which key to press and when to press it.
Phoenix has extensive technical support and documentation on its website at www.phoenix.com.
BIOS Hardware/Software
Some important drivers must be active during boot time. For example, how can you boot from a hard
disk if the drivers necessary to make the disk interface work must be loaded from that disk?
Obviously, at least a minimum level of hard disk drivers must be preloaded into ROM either on the
motherboard or on an adapter card for the system to be able to boot.
As another example, how can you see anything onscreen if your video card doesn’t have a set of
drivers in a ROM? The solution to this could be to provide a motherboard ROM with the appropriate
video drivers built in; however, this is impractical because of the variety of video cards, each needing
its own drivers. Instead, when IBM designed the original PC, it designed the PC’s motherboard ROM
to scan the slots, looking for adapter cards with ROMs on them. If a card was found with a ROM on
it, the ROM was executed during the initial system startup phase, before the system began loading the
OS from the hard disk.
Upgrading the BIOS
Chapter 5
265
A few cards (adapter boards) almost always have a ROM onboard, including the following:
■ Video cards—All have an onboard BIOS.
■ RAID (Redundant Array of Independent Disks) cards—Adapters that enable you to
attach multiple drives and array them in different ways to improve reliability, redundancy, and
performance. These cards require an onboard BIOS to enable the array to be bootable.
■ Network cards—Those that support booting directly from a file server have what is usually
called a boot ROM or IPL (initial program load) ROM onboard. This enables PCs to be configured
on a local area network (LAN) as diskless workstations—also called Net PCs, NCs (network computers), thin clients, or even smart terminals.
■ ATA/Serial ATA (SATA) or floppy upgrade boards—Boards that enable you to attach
more or different types of drives than what is typically supported by the motherboard alone.
These cards require an onboard BIOS to enable these drives to be bootable.
■ Y2K boards—Boards that incorporate BIOS fixes to update the century byte in the CMOS
RAM. These boards have a small driver contained in the BIOS that monitors the year byte for a
change from 99 to 00. When this is detected, the driver updates the century byte from 19 to 20,
correcting a flaw in some older motherboard ROM BIOS.
Upgrading the BIOS
Motherboard manufacturers tailor the BIOS code to the specific hardware on each board. This is what
makes upgrading a BIOS somewhat problematic; the BIOS usually resides in one or more ROM chips
on the motherboard and contains code specific to that motherboard model or revision. In other
words, you must get your BIOS upgrades from your motherboard manufacturer or from a BIOS
upgrade company that supports the motherboard you have, rather than directly from the original
core BIOS developer.
Although most BIOS upgrades are done to fix bugs or problems, you must often upgrade the BIOS to
take advantage of some other upgrade. For example, a BIOS upgrade often adds support for newer
processors, larger internal hard drives, bootable optical and USB drives, faster booting, and more.
Part of the PC 2001 standard published by Intel and Microsoft requires something called Fast POST to
be supported. Fast POST means that the time it takes from turning on the power until the system
starts booting from disk must be 12 seconds or less. This time limit includes the initialization of the
keyboard, video card, and ATA bus. For systems containing adapters with onboard ROMs, an additional 4 seconds are allowed per ROM. Intel calls the Fast POST feature Rapid BIOS Boot (RBB) and is
supported in all its motherboards from 2001 and beyond—some of which can begin booting from
power-on in 6 seconds or less.
If you install newer hardware or software and follow all the instructions properly but you can’t get it
to work, specific problems might exist with the BIOS that an upgrade can fix. This is especially true
for newer OSs. Many older systems need to have a BIOS update to properly work with the Plug and
Play and ACPI power management features of Windows. Because these problems vary from board to
board, it pays to periodically check the board manufacturer’s website to see whether updates are
posted and what problems they fix. Because new hardware and software that are not compatible with
your system could cause it to fail, I recommend you check the BIOS upgrades available for your system before you install new hardware or software—particularly processors and OSs.
266
Chapter 5
BIOS
Where to Get Your BIOS Update
You must download most BIOS upgrades from the system or motherboard manufacturer’s website.
The BIOS manufacturers do not offer BIOS upgrades because the BIOS in your motherboard did not
come directly from them. In other words, although you think you have a Phoenix, AMI, or Award
BIOS, you really don’t! Instead, you have a custom version of one of these BIOSs, which was licensed
by your motherboard manufacturer and uniquely customized for your particular motherboard. As
such, you must get any BIOS upgrades from the motherboard or system manufacturer because they
must be customized for your board or system as well.
Determining Your BIOS Version
When seeking a BIOS upgrade for a particular motherboard (or system), you need to know the following information:
■ The make and model of the motherboard (or system)
■ The version of the existing BIOS
You usually can identify the BIOS you have by watching the screen when the system is first powered
up. It helps to turn on the monitor first because some take a few seconds to warm up, and the BIOS
information is often displayed for only a few seconds. You usually can press the Pause key on the keyboard when the BIOS ID information is being displayed, which freezes it so you can record the information. Pressing any other key allows the system startup to resume.
Note
Many PCs do not display the typical POST screen. Instead, they show a logo for the motherboard or PC manufacturer,
which is usually referred to as a splash screen. To enter BIOS Setup, you must press a key or keys (specific to the BIOS
manufacturer). See the section “Running or Accessing the CMOS Setup Program,” later in this chapter, for more information. You might hear some in the industry refer to displaying a manufacturer’s logo instead of the default POST screen as a
quiet boot. Often you can change these BIOS splash screens to your own liking, even including your own company logo
or graphic of choice. Intel has free BIOS customization software called the Intel Integrator Toolkit (http://intel.com/go/itk)
that enables you to change or restore the splash screen on Intel motherboards, as well as customize many other BIOS settings. Other motherboard manufacturers also offer logo or splash screen customizers; for example Gigabyte has a logo
utility called Face-Wizard (www.gigabyte.com/MicroSite/121/tech_facewizard.htm) for its motherboards.
Tip
To determine your current BIOS version, look for any copyright notices or part number information on the screen during the
POST. Sometimes you can press the Pause key on the keyboard to freeze the POST, which allows you to take your time to
write down the information. Pressing any other key then causes the POST to resume. In many systems you can also find the
BIOS ID information in the BIOS Setup screens. Finally, you can use a program like SIW (System Information for
Windows) to report the BIOS version as well as the supported features. SIW is available free from www.gtopala.com.
Checking the BIOS Date
One method of determining the relative age and capabilities of your motherboard ROM is to check
the date. The BIOS date is stored in virtually all PCs as an 8-byte text string at memory address
FFFF5h. The date generally indicates when the BIOS code was last updated or compiled by the
motherboard manufacturer. Knowing the date of a particular BIOS might give you some clue as to
Upgrading the BIOS
Chapter 5
267
which features might or might not be present. You can use the DEBUG command-line utility supplied
with Windows and DOS to view these addresses. DEBUG is a command-line program that presents a
prompt of its own, to which you can enter various commands. For example, the ? command displays
help information. To find the BIOS date, open a command prompt and execute the DEBUG command.
Then at the DEBUG - prompt, enter D FFFF:5 L 8, which instructs DEBUG to display memory at
FFFF5 for a length of 8 bytes. DEBUG then displays both the hexadecimal and ASCII codes found at
those addresses. When the - prompt returns, you can enter Q to quit DEBUG and return to the command prompt. Figure 5.6 shows how this looked when I ran it on one of my systems.
Figure 5.6
Using DEBUG to display the motherboard ROM BIOS date.
In this example, the system shows a motherboard ROM BIOS date of 03/22/05.
Backing Up Your BIOS
Before updating a BIOS, it is generally a good idea to see if it is possible to save a backup copy of the
existing BIOS. That is because some motherboard manufacturers only offer the latest BIOS for a given
motherboard; sometimes a newer BIOS may cause problems or have consequences you are not ready
to live with. By having a backup, you can go back to the previous version. To make the backup, run
the BIOS upgrade program for your board, and check to see if there is an option to save the existing
BIOS to a file. If that option is not available, check to see if your motherboard manufacturer offers
older versions (including the one you have) for download.
If there is no menu option to back up and no older versions can be downloaded, there may be other
ways to make a copy of the BIOS, such as by using the DOS command–based BIOS upgrade software
usually found on the BIOS upgrade floppy or CD for the motherboard. For example, if your motherboard has a Phoenix or Award BIOS, you can create a backup using the awdflash.exe program found
on the BIOS upgrade disk for your motherboard with the /sy (Save Yes) and /pn (Program No) parameters, as follows:
awdflash /sy /pn
When the program runs, you are prompted to enter the backup file’s name (for example, backup.bin).
Press Enter to save the file.
Backing Up Your BIOS Setup (CMOS RAM) Settings
A motherboard BIOS upgrade often wipes out the BIOS Setup settings in the CMOS RAM. Therefore,
you should record these settings, especially important ones such as hard-disk related settings and
parameters. Some BIOS Setup programs offer the ability to save and restore CMOS settings, but unfortunately this capability is not universal. In some cases the new BIOS offers new settings or changes
the positions of the stored data in the CMOS RAM, which means a backup and restore won’t work.
Although it sounds like a simple concept, actually saving the BIOS Setup settings is somewhat difficult
technically because the amount, type, and even location of information stored in the NVRAM (nonvolatile RAM) can vary considerably from one motherboard to another. That being said, there are
some possibilities, but they generally won’t work with all types of systems.
268
Chapter 5
BIOS
For example, Lenovo provides both Windows and DOS-based BIOS Settings Capture/Playback Utilities,
but these work only on newer ThinkPad laptops. For other systems there are more generic solutions
that might work, such as the following:
■ CmosPwd—www.cgsecurity.org
■ CMOSsave/CMOSrest—www.mindprod.com
Unfortunately, these don’t work on all systems, but they are free to try and use.
In many cases, you are better off manually recording your BIOS Setup parameters. One easy way to do
this is to use a digital camera to take pictures of each screen or menu. If you have a parallel printer
connected, which is admittedly unlikely, you also might be able to print the screens using the PrtScr
key on the keyboard. Turn on the printer, start your computer normally, and restart it without turning off the system to initialize the printer. Note that this won’t work for printers connected via USB
because only parallel printers are directly supported via the BIOS. When recording any changes you
made from default settings, pay special attention to any hard drive settings, especially SATA modes
(IDE/AHCI/RAID), drive geometry (cylinder/head/sectors per track), or translation (LBA, Large, CHS).
These are important because, if you fail to reset them as they were, you might not be able to boot
from or access the drives.
Tip
If you use a digital camera to take a picture of each BIOS setup screen, be sure to set the camera to its close-up mode.
Also, unless the camera is an SLR (Single Lens Reflex) type, use the camera’s LCD screen rather than the optical viewfinder
to ensure you get the entire BIOS screen in the photo.
Keyboard Controller Chips
In addition to the main system ROM, some systems have a keyboard-controller microprocessor with its own built-in ROM.
The original keyboard controller was an Intel 8042 microcontroller, which incorporates a microprocessor, RAM, ROM,
and I/O ports. This was a 40-pin chip that often had a copyright notice identifying the BIOS code programmed into the
chip. Modern motherboards have this function integrated into the chipset, specifically the Super I/O or South Bridge
chips.
The keyboard controller controls the reset and A20 lines and deciphers the keyboard scan codes. The A20 line is used in
extended memory and other protected-mode operations.
Upgrading a Flash BIOS
Virtually all PCs built since 1996 use a flash ROM to store the BIOS. A flash ROM is a type of EEPROM
chip you can erase and reprogram directly in the system without special equipment. Older EPROMs
required a special ultraviolet light source and an EPROM programmer device to erase and reprogram
them, whereas flash ROMs can be erased and rewritten without you even removing them from the
system. On some systems, the flash ROM is not a separate chip but may instead be incorporated into
the South Bridge chip.
Using flash ROM enables you to load the upgrade into the flash ROM chip on the motherboard without removing and replacing the chip. Normally, these upgrades are downloaded from the manufacturer’s website. Depending on the design, some update programs require that you place the software
on a bootable floppy or optical disc, whereas others configure the program to run on the next startup
(before Windows loads), and still others actually run in Windows as a Windows application.
Upgrading the BIOS
Chapter 5
269
Some systems allow the flash ROM in a system to be locked (write-protected). In that case you must
disable the protection before performing an update—usually by means of a jumper or switch. Without
the lock, any program that knows the correct instructions can rewrite the ROM in your system—not a
comforting thought. Without the write-protection, virus programs could be written that overwrite or
damage the ROM BIOS code in your system. The CIH virus (also called the Chernobyl virus) was one
example that could overwrite the BIOS code on certain motherboards. Instead of a physical writeprotect lock, some flash ROM BIOSs have a security algorithm that prevents unauthorized updates.
This is the technique Intel uses on its motherboards, eliminating the need for a lock jumper or switch.
Note that motherboard manufacturers do not normally notify you when they upgrade the BIOS for a
particular board. You must periodically log on to their websites to check for updates, which you can
then download and install at no charge.
Before proceeding with a BIOS upgrade, you must locate and download the updated BIOS from your
motherboard manufacturer. Log on to its website, and follow the menus to the BIOS updates page;
then select and download the new BIOS for your motherboard.
Note
If a flash BIOS upgrade is identified as being for only certain board revisions of a particular model, be sure you determine that it will work with your motherboard before you install it. You might need to open your system and look for a revision number on the motherboard or for a particular component. Check the vendor’s website for details.
Motherboard manufacturers may offer several ways to update the BIOS on a given motherboard, some
may run directly from within Windows, and others may need to be run from bootable removable
media such as optical, USB, or floppy. You only need to use one of them, so if you have choices, in
most cases you should choose the one that is the easiest to perform. Which one you choose may
depend on the current state of the system. For example, if the BIOS is corrupt, you may have no other
choice but to use the emergency recovery procedures shown in the next section. If the system you are
updating is one you are building for the first time and does not yet have a working copy of Windows
installed on the hard drive, you may want to use a method that works with other bootable media
such as an optical drive, USB flash drive, or floppy drive. If the update files and programs are too large
to fit on a floppy, you should run the update from either an optical drive or a USB flash drive.
Most downloadable flash ROM upgrades fit into five main types:
■ Windows executable upgrades
■ BIOS Setup executable upgrades
■ Automated images of bootable media
■ User-created bootable media
■ Emergency recovery media
The following sections examine each of these in more detail.
Windows Executable Upgrade
The Windows executable method is generally the easiest and most popular. It might not be available
for older motherboards, but most new boards offer this type of procedure. Performing the actual
upgrade couldn’t be much easier because basically all you have to do is download the executable
upgrade program and run it. The program either runs directly in Windows, or it runs an install routine that temporarily installs the flash upgrade software so it automatically runs on the next startup
and then automatically reboots the system and begins the upgrade. In either case, once the upgrade is
270
Chapter 5
BIOS
finished, the system reboots again, and the upgrade is complete. The only drawback to this procedure
is that it requires that Windows be installed on the system, so it might not be appropriate for new
system builds where the OS isn’t installed yet or if you are running an alternative OS, such as Linux.
One potential problem with the Windows executable upgrade method is that if the program runs
directly in Windows and the OS is unstable, corrupted, or infected with malware, the BIOS upgrade
may be interrupted, potentially requiring a BIOS recovery procedure. Such an event could even
destroy the motherboard. Using one of the other methods (such as upgrading from a bootable floppy,
CD, or USB flash drive) is preferred if you think the host OS may be unstable.
BIOS Setup Executable Upgrade
Some motherboards now include a flash BIOS upgrade utility in the BIOS. This allows for a BIOS
upgrade to be performed in a stable environment outside of Windows, yet without the hassle of having to create DOS-bootable USB flash, optical, or floppy media or entering complicated commands.
This feature is called the F7 BIOS Flash Update on Intel motherboards and M-Flash on MSI motherboards, and it makes the BIOS upgrade procedure simple. To perform the BIOS upgrade, all you need
is a FAT- or FAT32-formatted USB flash drive onto which you have downloaded the BIOS image file
from the motherboard manufacturer. Unlike previous upgrades via USB flash drives, the drive only
needs to contain the BIOS image file and does not need to be bootable or require any other programs
to be installed.
To perform the USB flash-based upgrade on a system using an Intel motherboard, first download
the proper BIOS image file for the motherboard and copy it to the root folder of a FAT- or FAT32formatted USB flash drive. Then restart the system, enter the BIOS Setup and navigate to the
Advanced, Boot Configuration menu. Make sure the setting Display F7 to Update BIOS is enabled
and that it has been saved. Insert the flash drive into a USB port, restart the system, and follow these
steps to complete the process:
1. When prompted during the restart, press F7 to enter the BIOS Flash Update tool.
2. Select the USB flash drive, and press Enter.
3. Select the .BIO (BIOS image) file, and press Enter. Confirm that you want to update the BIOS by
pressing Enter a second time.
4. Wait 2–5 minutes for the update to complete; then, when prompted, remove the USB flash
drive and restart the system.
To perform the upgrade on a system using an MSI motherboard, first insert the flash drive, restart the
system, and then follow these steps to complete the process:
1. When prompted during the restart, press the Delete key to enter the BIOS Setup.
2. Select the M-Flash menu, and change the M-Flash function to BIOS Update.
3. Select the USB flash drive as the source, and point to the BIOS image file on the flash drive.
4. Select Flash BIOS, and press Enter.
5. Once the upgrade is finished, the system restarts automatically, after which you can remove the
flash drive.
As you can see from these examples, updating a modern motherboard via a BIOS Setup–based utility
is almost as easy as using a Windows-based utility, yet it has the advantage of working outside of a
Windows environment. In fact, it works even with no OS loaded on the system (and without the
Upgrading the BIOS
Chapter 5
271
hassle of creating DOS bootable media), which makes it much easier to update the BIOS on a new
motherboard or new system build before you install the OS.
Automated Bootable Media Images
Using automated bootable images is the next easiest method and works with any (or no) OS installed
on the system. This is ideal for non-Windows systems or new systems in which the OS hasn’t yet
been installed. Being able to use this procedure depends on your motherboard manufacturer supplying bootable floppy or optical disc images containing the necessary upgrade files, which you would
then use to create the actual upgrade media.
In the case of a floppy, you download the floppy image creation program from the motherboard manufacturer. When you run it, the program prompts you to insert a blank floppy disk into the drive,
after which it overwrites the disk with a bootable image containing the bootable OS (most likely DOS
or a DOS variant) plus all the files necessary to perform the upgrade. To perform the upgrade, you first
ensure that the floppy drive is set in the boot sequence, and then you restart the system with the
upgrade floppy disk in the drive. The system should then boot from the floppy, and the upgrade procedure should start and run automatically. Follow any onscreen prompts to complete the upgrade;
then when the upgrade is complete, remove the floppy and reboot the system.
Because floppy drives are no longer installed in most newer systems and the BIOS images for newer
motherboards are often too large to fit on a floppy anyway, many motherboard manufacturers now
offer downloadable images of bootable CDs for BIOS upgrades. These are normally in the form of an
*.ISO file, which is an optical disc image file containing a sector-by-sector copy of a disc. To perform
the upgrade, you need to write the ISO bootable image file to a blank disc. Unfortunately, Windows
versions prior to Windows 7 don’t include optical disc burning software that can read or write ISO
images, which means that you need a third-party program to accomplish this. Commercial optical
disc burning programs are sometimes included with new systems or optical drives, so you might
already have the necessary software on your system. If you don’t already have such a program, I recommend ImgBurn (www.imgburn.com), which is an excellent free optical disc burning application.
Use your burning program to generate the disc image by copying the ISO file to a blank disc. To perform the upgrade, first ensure that the optical drive is set in the boot sequence; then restart the system with the upgrade disc in the drive. The system should boot from the disc, and the upgrade
procedure should start and run automatically. Follow the prompts to complete the upgrade and then,
once the upgrade is complete, remove the disc and reboot the system.
User-Created Bootable Media
Many motherboard manufacturers also offer BIOS upgrades in the form of a raw DOS-based flash utility combined with a BIOS image file, which you can run manually from any DOS-bootable media.
Using this technique, you can perform the upgrade from a bootable floppy, optical disc, or even a
USB flash drive, regardless of whether the system hard drive is running Windows or Linux or even if
it has no OS. The necessary files are normally contained in an archive that you can download from
the motherboard manufacturer. Unfortunately, this type of procedure is much more labor intensive
than the others because several steps are involved. One particularly difficult part is the manual creation of the bootable media to which you will copy the files. Although it is fairly straightforward and
simple to create a bootable floppy, the procedure for creating bootable optical discs or USB flash
drives is more involved.
Fortunately, some free utilities are helpful. For creating a bootable CD for BIOS upgrades, I recommend the Clean Boot CD package, which you can download for free from
www.nu2.nu/bootcd/#clean. Download the self-extracting executable package into a new folder and
run it, which extracts the additional files and folders within. Then follow the directions to copy the
272
Chapter 5
BIOS
flash utility and image files for your motherboard into the proper folder. After the files are in place,
you can run the “build-clean” command, which automatically builds and creates an ISO image of a
bootable CD, complete with an OS and your files included. You can then use a third-party CD/DVDburning program such as ImgBurn (www.imgburn.com) to copy the ISO image to an optical disc.
After you have burned the disc, you can boot from it, navigate to the folder where your flash utility
and image files are located, and enter the appropriate command to execute the upgrade. For Intel
motherboards that use the IFLASH.EXE utility and image files with an *.BIO extension, the proper
command would be IFLASH /PF XXX.BIO, where you would replace XXX.BIO with the actual name of
the BIO file you have.
You can accomplish the same procedure with a bootable USB flash drive, but just as with the creation
of a bootable optical disc, creating a bootable USB flash drive can be somewhat involved. Fortunately,
a Windows-based USB format utility (HPUSBDisk.exe) is available for free from HP (http://tinyurl.
com/yfz8rdl). To make the flash drive bootable, this program requires a set of DOS system files (command.com, io.sys, and msdos.sys) to write to the flash drive during the format. You can use several
versions of DOS, but in most cases I recommend using the system files from DOS 6.22. If you don’t
have a copy, you can download the DOS 6.22 system files in the form of a bootable floppy image
from www.bootdisk.com. Look for the “Non-Windows Based Image Files,” and then download the
622c.zip file. Use a program like 7-Zip (www.7-Zip.org) to first extract the .IMG file from the zip file,
and then use it again to extract the DOS files from the .IMG file.
To create the bootable flash drive, run the HPUSBDisk.exe program and select the flash device and file
system (FAT). Then check Create a DOS Startup Disk Using System Files Located At and point to the
location where you have extracted the necessary DOS files. After that, perform the format.
Note
BIOS and motherboard manufacturers began adding USB boot support during 2001, so if your system dates from around
that time or earlier, it might not be able to boot from a USB drive.
When setting up a system to boot from a USB flash drive, the flash drive must be plugged in prior to restarting the system
and entering the BIOS setup. In the BIOS setup startup sequence (boot order), the USB flash drive might appear as either
a “generic” storage device hard disk or as a type of removable drive, which you should set as the first device in the boot
order. In most systems, when the USB flash drive is unplugged, it is automatically removed from the boot order on the next
restart.
After the USB flash drive is formatted as a bootable drive, you can add the BIOS flash utility and
image file for the motherboard. Plug the bootable USB flash drive into the system you want to
upgrade, and then restart the system, run the BIOS setup, and set the USB flash drive to be first in the
boot sequence. After you save and exit, the system should boot to DOS from the USB flash drive. At
the DOS command prompt, you can then run the proper command to reflash your BIOS.
Tip
Before you start the flash BIOS upgrade process, you should disconnect all USB and IEEE 1394 (FireWire) devices except
for your keyboard and mouse. If you are booting from a USB flash drive to perform the upgrade, make sure all other USB
drives are disconnected. On some systems, leaving additional external drives connected prevents a BIOS upgrade from
working properly.
If you have Byte Merge enabled in the BIOS Setup on an Award BIOS-based system, disable this feature as a precaution
before you perform the BIOS upgrade. This is recommended because on some older systems, leaving Byte Merge
Upgrading the BIOS
Chapter 5
273
enabled during a BIOS upgrade can cause the upgrade to fail, corrupting the BIOS in the process. You can reenable this
feature after you complete the upgrade. Some BIOS upgrades contain fixes for this problem so it can’t happen in the
future.
Emergency Flash BIOS Recovery
When you perform a flash BIOS upgrade, you should normally see a warning message onscreen similar to the following:
The BIOS is currently being updated. DO NOT REBOOT OR POWER DOWN until the update
is completed (typically within three minutes)...
If you fail to heed this warning or something interrupts the update procedure, you can be left with a
system that has a corrupted BIOS. This means you will not be able to restart the system and redo the
procedure, at least not easily. Depending on the motherboard, you might have to replace the flash
ROM chip with one that was preprogrammed by the motherboard manufacturer. This is an unfortunate necessity because a motherboard is nonfunctional until a valid ROM is present. This is one reason I still keep my trusty ROM burner around; it is useful for motherboards with socketed flash ROM
chips. In minutes, I can use the ROM burner to reprogram the chip and reinstall it in the board. If
you need a ROM programmer, I recommend the EPROM+ from Andromeda Research Labs
(www.arlabs.com).
In most systems, however, the flash ROM is soldered into the motherboard so it can’t be easily
replaced, rendering the external reprogramming idea moot. However, this doesn’t mean the only way
out is a complete motherboard replacement. Most motherboards with soldered-in flash ROMs have a
special BIOS Recovery procedure that can be performed, which restores the contents of the chip. This
hinges on a special protected part of the flash ROM that is reserved for this purpose, called the boot
block. The boot block holds a recovery routine that you can use to restore the main BIOS code.
Note
Because of the small amount of code in the boot block area, onscreen prompts are not usually available to direct the procedure. This means that during the procedure the screen remains dark—as if nothing is happening. The procedure can
instead be monitored by listening to the internal speaker or looking at the access LED on the drive containing the upgrade
media. Normally the procedure causes the system to beep once when it begins and several more times when it ends.
During the procedure, you should be able to observe drive activity, indicating that the BIOS image is being read from the
drive and written into the flash device.
Different motherboards and BIOS versions may have different recovery techniques. Most motherboards (including those from Intel) that support BIOS recover incorporate a BIOS configuration
jumper, which can set several modes, including a built-in recovery mode. Figure 5.7 shows this
jumper on a typical motherboard.
In addition to moving the jumper, the recovery requires that either a floppy, optical, or USB flash
drive containing media with the BIOS image file is attached to the system and properly configured.
Most older motherboards only support recovery from a floppy drive, whereas most newer boards support optical or USB.
Before beginning the recovery procedure, you need to download the proper recovery image file for
the motherboard you are recovering. Obviously, you need to do this using another system if the system to be recovered is nonfunctional. The image file can be downloadable separately, or it can be part
of an archive with other files, such as flash programming tools and documentation. In this case you
274
Chapter 5
BIOS
only need the actual image file; none of the other programs or files will be used. You also need to
ensure that either a working floppy or optical drive is properly installed in the system.
Jumper
E28F004S5
85 5V
U9060705A
M C '92'96
"J
1
8A
1"
3
BIOS CONFIG
3
1
3
"J8A1"
Figure 5.7
BIOS configuration jumper.
To recover the BIOS using the floppy recovery method, perform the following steps:
1. Copy only the proper recovery image file to a blank formatted floppy disk.
2. Place the disk in the primary floppy drive attached to the system to be recovered.
3. Power off the system and remove the BIOS configuration jumper to enable BIOS Recovery mode
(refer to Figure 5.7).
4. Power on the system; the recovery should begin automatically. You should hear a beep at the
start and see activity on the floppy drive during the procedure.
5. The recovery should complete in 2 to 5 minutes, after which the system will remain running,
power off automatically, or prompt you to turn it off manually.
6. With the system powered off, remove the floppy disk, and restore the BIOS configuration
jumper to enable normal operation.
You can use the optical or USB flash drive methods on newer motherboards that do not have a builtin floppy controller or for which the recovery file won’t fit on a 1.44MB floppy. Although the drive
can be virtually any type of CD or DVD optical drive, the actual disc you use should be a CD-R or
RW that is burned with the file and finalized (closed). You can burn the disc using the built-in
CD-burning software found in Windows (XP or later), or you can use third-party software such as
the free ImgBurn application (www.imgburn.com), which is more powerful, easier to use, and works
with older versions of Windows.
Upgrading the BIOS
Chapter 5
275
To recover the BIOS using the optical drive method, perform the following steps:
1. Burn and finalize a disc (preferably a CD) with a copy of the recovery image file.
2. Place the disc in the primary optical drive of the system to be recovered.
3. Power off the system and remove the BIOS configuration jumper to enable BIOS Recovery
mode.
4. Power on the system; the recovery should begin automatically.
5. The recovery should complete in 2 to 5 minutes, after which the system will remain running,
turn off automatically, or prompt you to turn it off manually.
6. With the system powered off, restore the BIOS configuration jumper to enable normal operation.
Note
A BIOS recovery may corrupt the BIOS Setup information stored in the CMOS RAM. If the error message CMOS/GPNV
Checksum Bad…Press F1 to Run SETUP appears during the first boot after the update, press F1 to go into the BIOS
Setup Utility, press F9 to load setup defaults, and then press F10 to save and exit to correct the problem.
If your motherboard does not include a BIOS configuration jumper, there might still be a recovery
procedure that could work. For example, some AMI BIOSs have boot block code with a recovery procedure that works even without a recovery jumper. If the main BIOS is damaged, the boot block code
is designed to look for a file called AMIBOOT.ROM on a floppy disk and flash it into the ROM if
found. To perform a recovery, first download the latest BIOS image file for the motherboard, copy the
file to a blank formatted floppy, and then rename the image file to AMIBOOT.ROM. Power off the
system to be recovered, insert the floppy, and then power on; the recovery process should start
automatically.
Most Phoenix and Award BIOSs also have a boot block with recovery capabilities. These are designed
to automatically boot from a floppy disk if the main BIOS is damaged. To perform a recovery, first
download the latest BIOS upgrade files for the motherboard. Extract the files and copy the Award
flash program (awdflash.exe) and the correct BIOS image (*.bin) file to a bootable formatted floppy,
and then create an AUTOEXEC.BAT file on the floppy with the command awdflash.exe *.bin,
replacing the *.bin with the actual name of the BIOS image file for the specific motherboard being
recovered. Power off the system to be recovered, insert the floppy, and then power on. The system
should boot from the floppy, and the recovery process should start automatically.
With any of these procedures, wait at least several minutes after all disk and beeping activity stops
before removing the floppy or CD and restarting the system. When you power the system back on,
the new BIOS should be installed and functional. If nothing at all happens, the recovery may have
failed, or the board may not feature a separate boot-block section (which contains the recovery code).
Note
Note that the BIOS recovery procedure is often the fastest way to update a large number of machines, especially if you
are performing other upgrades at the same time, or the machines are new and do not have a bootable OS installed. For
example, this is how updates are sometimes done in a system assembly or production environment.
276
Chapter 5
BIOS
Motherboard CMOS RAM Addresses
In the original IBM AT system, a Motorola 146818 chip was used as the real-time clock (RTC) and
CMOS RAM chip. This special chip had a simple digital clock that used 14 bytes of RAM and an additional 50 more bytes of leftover RAM in which you could store anything you wanted. The designers of
the IBM AT used these extra 50 bytes to store the system configuration.
Modern PC systems don’t use the Motorola chip; instead, they incorporate the functions of this chip
into the motherboard chipset (South Bridge) or Super I/O chip, or they use a special battery and
NVRAM module from companies such as Dallas Semiconductor or Benchmarq.
Table 5.1 shows the standard format of the information stored in the 64-byte standard CMOS RAM
module. This information controls the configuration of the system and is read and written by the system setup program.
Table 5.1
CMOS RAM Addresses
Offset (hex)
Offset (dec)
Field Size
Function
00h
0
1 byte
Current second in BCD1 (00–59)
01h
1
1 byte
Alarm second in BCD
02h
2
1 byte
Current minute in BCD (00–59)
03h
3
1 byte
Alarm minute in BCD
04h
4
1 byte
Current hour in BCD (00–23)
05h
5
1 byte
Alarm hour in BCD
06h
6
1 byte
Current day of week in BCD (00–06)
07h
7
1 byte
Current day of month in BCD (00–31)
08h
8
1 byte
Current month in BCD (00–12)
09h
9
1 byte
Current year in BCD (00–99)
0Ah
10
1 byte
Status register A
0Bh
11
1 byte
Status register B
0Ch
12
1 byte
Status register C
0Dh
13
1 byte
Status register D
0Eh
14
1 byte
Diagnostic status
0Fh
15
1 byte
Shutdown code
10h
16
1 byte
Floppy drive types
11h
17
1 byte
Advanced BIOS Setup options
12h
18
1 byte
Hard disk 0/1 types (0–15)
13h
19
1 byte
Keyboard typematic rate and delay
14h
20
1 byte
Installed equipment
15h
21
1 byte
Base memory in 1K multiples, LSB2
16h
22
1 byte
Base memory in 1K multiples, MSB3
17h
23
1 byte
Extended memory in 1K multiples, LSB
Upgrading the BIOS
Table 5.1
1
2
3
4
Chapter 5
277
Continued
Offset (hex)
Offset (dec)
Field Size
Function
18h
24
1 byte
Extended memory in 1K multiples, MSB
19h
25
1 byte
Hard Disk 0 Extended Type (0–255)
1Ah
26
1 byte
Hard Disk 1 Extended Type (0–255)
1Bh
27
9 bytes
Hard Disk 0 user-defined type information
24h
36
9 bytes
Hard Disk 1 user-defined type information
2Dh
45
1 byte
Advanced BIOS Setup options
2Eh
46
1 byte
CMOS checksum MSB
2Fh
47
1 byte
CMOS checksum LSB
30h
48
1 byte
POST4 reported extended memory LSB
31h
49
1 byte
POST reported extended memory MSB
32h
50
1 byte
Date century in BCD (00–99)
33h
51
1 byte
POST information flag
34h
52
2 bytes
Advanced BIOS Setup options
36h
54
1 byte
Chipset-specific BIOS Setup options
37h
55
7 bytes
Power-On Password (usually encrypted)
3Eh
62
1 byte
Extended CMOS checksum MSB
BCD = Binary-coded decimal
LSB = Least significant byte
MSB = Most significant byte
POST = Power-on self test
Note that many newer systems have extended CMOS RAM with 2KB, 4KB, or more. The extra room
stores the Plug and Play information detailing the configuration of adapter cards and other options in
the system. As such, no 100%-compatible standard exists for the way CMOS information is stored in
all systems. You should consult the BIOS manufacturer for more information if you want the full
details of how CMOS is stored because the CMOS configuration and setup programs typically are part
of the BIOS. This is another example of how close the relationship is between the BIOS and the
motherboard hardware.
Backup programs and utilities are available in the public domain for CMOS RAM information, which
can be useful for saving and later restoring a configuration. Unfortunately, these programs are BIOS
specific and function only on the BIOS for which they are designed. As such, I don’t usually rely on
these programs because they are too motherboard and BIOS specific and do not work on all my systems seamlessly.
Table 5.2 shows the values that might be stored by your system BIOS in a special CMOS byte called
the diagnostic status byte. By examining this location with a diagnostics program, you can determine
whether your system has set trouble codes, which indicate that a problem previously has occurred.
278
Chapter 5
Table 5.2
BIOS
CMOS RAM Diagnostic Status Byte Codes
Bit Number
7
6
5
4
3
2
1
0
Hex
Function
1
■
■
■
■
■
■
■
80
Real-time clock (RTC) chip lost power.
■
1
■
■
■
■
■
■
40
CMOS RAM checksum is bad.
■
■
1
■
■
■
■
■
20
Invalid configuration information found at POST.
■
■
■
1
■
■
■
■
10
Memory size compare error at POST.
■
■
■
■
1
■
■
■
08
Fixed disk or adapter failed initialization.
■
■
■
■
■
1
■
■
04
Real-time clock (RTC) time found invalid.
■
■
■
■
■
■
1
■
02
Adapters do not match configuration.
■
■
■
■
■
■
■
1
01
Timeout reading an adapter ID.
If the diagnostic status byte is any value other than 0, you typically get a CMOS configuration error
on bootup. You can clear these types of errors by rerunning the setup program.
Year 2000 BIOS Issues
All systems now in use should be compliant with twenty-first century dates, either through BIOS
updates or through software or hardware patches. However, if you are returning to service stored systems built before 1999, you might want to test them for year-2000 compliance.
Preboot Environment
Some systems use the Phoenix BIOS preboot environment, which has a graphical user interface (GUI)
that allows a user to access the BIOS Setup, extended diagnostics, a backup/restore application, or a
full recovery of the original system contents (product restoration to factory-delivered contents). All
these applications (except the BIOS Setup) are stored in the HPA (Host Protected Area), a hidden area of
the hard drive literally situated past the reported end of the drive. The number and type of applications accessible via the preboot environment depend on which options the OEM selected when
designing the system. Figure 5.8 shows the IBM/Lenovo implementation of the Phoenix BIOS preboot
environment. This environment is activated by pressing the Enter key on the keyboard during the
POST.
A graphical preboot environment is especially useful for product recovery. For example, most of the
larger system OEMs do a lot more than just install Windows on a system before they deliver it. After
installing Windows, they install all the service packs and updates available at the time, as well as all
the updated drivers unique to their systems. Then they add customizations, such as special wallpapers
or interface customizations, support contact information, online system documentation, and custom
utilities designed to make their systems easier to use. Finally, they install applications such as DVD
players, Office applications or other productivity software, and more.
This OEM customization represents a lot of work if a user were to have to duplicate this from scratch,
so most manufacturers like to include the ability to easily recover the system to the factory-delivered
contents, including the OS, drivers, application, and custom configuration. This was originally provided via several CDs or DVDs, which could be lost or damaged by the user, were sometimes problematic to use, and cost money to produce and deliver with the system. By using a BIOS with a preboot
environment, an OEM can instead deliver the contents of the recovery CDs directly on the hard disk
and make it accessible via the preboot menu in the BIOS.
Preboot Environment
Figure 5.8
Chapter 5
279
IBM/Lenovo implementation of the Phoenix BIOS preboot environment.
Originally, this was done using a hidden partition, which unfortunately could easily be damaged or
overwritten by partitioning software or other utilities. In many newer systems, the contents of the
recovery disks are instead preinstalled in the HPA, which is accessible via Protected Area Run Time
Interface Extension Services (PARTIES), a standard supported on all ATA-4 or newer drives. HPA/PARTIES works by using the ATA SET MAX ADDRESS command to essentially make the drive appear to the
system as a slightly smaller drive. Most manufacturers use the last 3GB of the drive for the HPA.
Anything from the new max address (the newly reported end of the drive) to the true end of the drive
is considered the HPA and is accessible only using PARTIES commands. Figure 5.9 shows the contents
of the HPA and the relationship between the HPA and the rest of the drive.
The HPA is more secure than a hidden partition because any data past the end of the drive simply
cannot be seen by a normal application, or even a partitioning utility such as Partition Magic or
Partition Commander. This makes it far more secure and immune to damage. Still, if you wanted to
remove the HPA, there is a way to reset the max address, thus exposing the HPA. Then you could run
something like Partition Magic or Partition Commander to resize the main partition to include the
extra space that was formerly hidden and unavailable. The only consequence is that you would lose
access to the product recovery, diagnostics, and backup applications preloaded by the OEM. For some
people, this might be desirable because future product recoveries could still be done via the recovery
discs (not usually shipped with the system anymore, but still available separately either for free or for
a minimal charge), and true hardware diagnostics can still be run via bootable floppies or optical
discs. Also, if you are replacing the hard disk, you can temporarily unhide the HPA on the original
drive, allowing it to be copied to a new drive. Alternatively, you can use the OEM-supplied recovery
discs to install the HPA on the new drive.
Most new systems using Phoenix BIOS come with their recovery software and diagnostics in the HPA
because this is part of the newer Phoenix BIOS cores used by a large number of OEMs on desktop and
laptop systems built in 2003 or later.
280
Chapter 5
BIOS
HPA Header
BEER
(Boot Engineering
Extension Record)
DOS
PreBoot Area
PreBoot
menu
Create
diagnostic
disks
Additional
Bootable Areas
Run
diagnostics
Host Protected Area (HPA)
Optional Backup Partition
Recovery to
factory contents
C:> Partition
Restore your backup’s
service partition
code
User operating system,
applications, and
free space
Recovery data
Data Areas
Recovery to
factory contents
Update area
Figure 5.9
The Host Protected Area (HPA).
Unified Extensible Firmware Interface (UEFI)
Unified Extensible Firmware Interface (UEFI) defines an interface between an OS and computer hardware and firmware. The interface consists of tables containing system-specific information as well as
boot and runtime services that are available to the OS loader and to the OS after it is loaded. These
tables and services provide an industry-standard environment for running preboot applications, booting an OS, and providing drivers for devices that need to be active during boot. Because UEFI is
based on the EFI specification originated by Intel, it is common to use the terms EFI and UEFI
interchangeably.
UEFI was initially created by Intel as just EFI, and the EFI 1.01 specification was originally released in
2000. EFI was an outgrowth of the Intel Boot Initiative (IBI) program that began in 1998. You can see
the original Intel EFI specifications at www.intel.com/technology/efi. Intel updated the EFI specification through 2003, and in 2005 it contributed the specification to the Unified EFI (UEFI) Forum, a
nonprofit organization formed to promote and manage the UEFI standard. The UEFI Forum is led by
representatives from 11 major companies including AMD, AMI, Apple, Dell, HP, IBM, Insyde, Intel,
Lenovo, Microsoft, and Phoenix Technologies. You can download the latest version of the UEFI specification from the Unified EFI Forum at www.uefi.org.
UEFI and BIOS Limitations
The original PC BIOS was released in 1981 as part of the first IBM PC. The BIOS at that time consisted
of only 8KiB of 16-bit code running in what is known as the “real mode” of Intel x86 (or compatible)
processors, which limits memory addressability to just 1 mebibyte (MiB). Since then the BIOS has
Unified Extensible Firmware Interface (UEFI)
Chapter 5
281
grown somewhat in size, but it still must run as 16-bit x86 code and fit into a meager 128-kibibyte
(KiB) window of memory. In addition, add-on cards that need to be functional at boot time (such as
video and RAID cards) must contain a ROM of limited size with 16-bit x86 code. This is why the
POST, BIOS Setup, RAID Setup, and other preboot code you normally interact with usually runs in
text mode and must be navigated using only the keyboard. All of this looks and feels crude in comparison to the high-res graphical mouse-driven interfaces found in modern OSs.
Another issue is that because the BIOS is so limited in size and functionality (it exists mainly to
test/initialize the hardware, and then find and load an OS), a PC without an OS installed (or with one
that has been corrupted) has little or no functionality besides entering the BIOS Setup. In other
words, you cannot run extensive diagnostics, go online with a web browser, send or receive email, or
read or write files.
But perhaps the most important limitation with the PC BIOS is that it was only designed to boot from
MBR-formatted disks. Because the MBR can only define up to four primary partitions on a disk of just
under 2.2TB in maximum size, BIOS-based systems cannot boot from a drive that is 2.2TB or greater
in capacity. That started to be a problem a few years ago for drive arrays as it became possible to combine multiple drives in an array potentially larger than that. But the 2.2-terabyte (TB) limitation
started to become a real problem in 2010 when the first 3TB drives were released to the market.
The solution to the limitations caused by the MBR format is a more flexible partitioning scheme
called the GUID (globally unique identifier) Partition Table (GPT). The GPT is a newer boot sector and
format design that supports up to 128 partitions on a disk of up to 9.4 zettabytes (ZB, where 1
zettabyte = 1 billion terabytes or 1 sextillion bytes). While the GPT breaks the 2.2TB barrier, GPTformatted drives can only be used as data drives because the PC BIOS supports only MBR and cannot
boot from a GPT drive. The solution to the GPT boot problem is UEFI, which replaces the BIOS boot
loader with a UEFI loader that supports both MBR and GPT-formatted drives, thus breaking the 2.2TB
limitation.
Note that UEFI does not completely replace the BIOS, at least not yet. At a minimum, it runs on top
of the BIOS as a replacement for the boot loader and runtime services. UEFI does not specifically
define POST or BIOS Setup functionality, but it does allow enhanced versions of those preboot functions to be created along with additional preboot applications. Because of this, a motherboard with
UEFI firmware may look exactly like a standard BIOS Setup from the user’s perspective, with the only
difference being a UEFI Boot option somewhere in the BIOS Setup. Enabling this option allows the
UEFI boot loader to replace the BIOS boot loader, thus enabling the ability to boot from a drive 2.2TB
or greater in capacity.
Although some UEFI firmware implementations will look like a standard BIOS, most will be notable
by their enhanced mouse-driven graphical interfaces combined with additional features not found in
older PC BIOS. You may find the following features in the UEFI firmware of motherboards:
■ Diagnostics—Tests that are much more comprehensive than the standard POST, including
tests for memory and hard disks.
■ Live Update—A tool that can check the motherboard manufacturer website to see if a
firmware/BIOS update is available and then automatically download and install the proper
update.
■ HDD Backup—A tool that backs up or clones a hard disk drive (HDD) from outside the OS.
This allows for complete backups and easy HDD upgrades.
■ Overclocking—Enhanced intelligent overclocking utilities that virtually automate the process
and can easily undo the settings if they fail.
■ Boot Logo—The ability to easily update or change the graphical boot logo seen when you turn
the system on.
282
Chapter 5
BIOS
As time goes on, I expect to see applications for web browsing, email, and other useful capabilities
that will almost make a PC with no OS useful all by itself.
UEFI Support
Even though EFI has been around since 2000, full support in the PC environment was virtually
nonexistent until 2008, and it wasn’t really widespread until 2011. Intel began shipping some of the
first motherboards with UEFI boot capability in 2006; however, OS support for UEFI wasn’t available
until Vista SP1 x64 was released in 2008. MSI shipped a few specific motherboards in 2008 that had
optional/experimental UEFI firmware (called Click BIOS), but few people really used it because such
support really wasn’t necessary unless you had a boot drive equal to or greater than 2.2TB in capacity,
and drives bigger than that didn’t come along until late 2010.
Coinciding with the introduction of the Intel 6x Series chipsets in 2011, many motherboards began
including UEFI firmware as a standard feature. This was just in time to support the new 3TB drives
that were beginning to appear on the market, as well as the growing move to 64-bit OSs such as
Windows 7 x64.
If you want to boot from a GPT-formatted disk (2.2TB and larger disks must be formatted as GPT), you
need two things: a motherboard with UEFI firmware (at a minimum a UEFI Boot option that is
enabled) and an OS with UEFI support. Windows UEFI support is provided only in the 64-bit versions
of Vista SP1 and later (including Windows 7), whereas most newer 32-bit and 64-bit Linux versions
support UEFI as well. Neither Windows XP nor 32-bit versions of 7/Vista or later support UEFI, which
means they cannot boot from 2.2TB or larger (or GPT-formatted) drives.
Note that although Windows XP and 32-bit versions of 7/Vista cannot boot from GPT disks, they can
use GPT-formatted drives as data disks. This support is provided natively in XP x64 and 7/Vista or
later, but with XP x86 (32-bit) you need a third-party utility such as the Paragon GPT Loader
(www.paragon-software.com) or the ASUS Disk Unlocker (www.asus.com) to enable GPT support.
CMOS Setup
You must configure the CMOS RAM with information about your system’s drives and user-selected
options before you can use your computer. The Setup program provided with your system is used to
select the options you want to use to start your computer.
Running or Accessing the CMOS Setup Program
If you want to run the BIOS Setup program, you usually have to reboot and press a particular key or
key combination during the POST. Normally, the correct key to press is displayed onscreen momentarily during the POST. If it flashes past too quickly to read, try pressing the Pause key on the keyboard
when it appears. This key freezes the system, allowing you to read the display. Pressing any other key
(such as the spacebar) unpauses the system and allows the POST to continue. The major vendors have
standardized the following keystrokes to enter the BIOS Setup in recent systems:
■ AMI BIOS—Press F1 or Del (Delete) during POST.
■ Phoenix BIOS—Press F1 or F2 during POST.
■ Award BIOS—Press Del (Delete or Ctrl+Alt+Esc during POST.
■ Microid Research (MR) BIOS—Press Esc during POST.
If your system does not respond to one of these common keystroke settings, you might have to contact the manufacturer or read the system documentation to find the correct keystrokes.
CMOS Setup
Chapter 5
283
Some unique ones are as follows:
■ Toshiba notebook/laptop—Press Esc while powering on the system; then press F1 when
prompted.
■ Older Phoenix BIOS—Boot to a safe-mode DOS command prompt, and then press
Ctrl+Alt+Esc or Ctrl+Alt+S.
■ Compaq—Press F10 during POST.
After you are at the BIOS Setup main screen, you’ll usually find a main menu allowing access to other
menus and menus of different sections or screens. In the following sections, I go through the menus
and submenus found on most Intel motherboards. Although not all motherboards have all of these
settings, and other brands may use slightly different settings and terminology, most will be similar in
content.
BIOS Setup Menus
Most modern BIOSs offer a menu bar at the top of the screen when you’re in the BIOS Setup that controls navigation through the various primary menus. A typical menu bar offers the choices shown in
Table 5.3.
Note
The settings covered here help you get a general idea of the type of settings to expect and how the BIOS Setup settings
affect your computer. Note, however, that the specific settings you see, their locations, and even the menu titles can vary
by the specific motherboard make, model, and BIOS revision.
Table 5.3
Setup Menu
BIOS Setup Menus
Description
Maintenance
Clears passwords and displays processor information. The maintenance menu is
displayed only when the BIOS Configuration jumper is set to configure mode.
Main
Configures processor and time/date.
Advanced
Configures advanced chipset and hardware features.
Security
Sets passwords and security features.
Power
Configures power management features and power supply controls.
Boot
Selects boot options.
Exit
Saves or discards changes to Setup program options.
Choosing each of these selections takes you to another menu with more choices.
Maintenance Menu
The Maintenance menu is a special menu for setting the processor speed and clearing the setup passwords. Older motherboards used jumpers to configure the processor bus speed (motherboard speed) and
processor multiplier. Most newer boards from Intel and others now offer this control via the BIOS Setup
rather than moving jumpers. In the case of Intel, one jumper still remains on the board, called the configuration jumper, and it must be set to Configure mode for the Maintenance menu to be available.
284
Chapter 5
BIOS
Setup displays this menu only if the system is set in Configure mode. To set Configure mode, power
off the system and move the configuration jumper on the motherboard from Normal to Configure.
(See Figure 5.7, earlier in this chapter.) Because this is the only jumper on a modern Intel board, it is
pretty easy to find. When the system is powered back on, the BIOS Setup automatically runs, and you
can select the Maintenance menu shown in Table 5.4. After making changes and saving, power off the
system and reset the jumper to Normal mode for normal operation.
Table 5.4
Maintenance Menu Settings
Setting
Options
Description
Board ID
—
Value that uniquely identifies the board.
C1E
Enabled
Disabled
Allows the system to reduce processor voltage when no
work is being done.
Clear All Passwords
OK
Cancel
Clears both user and supervisor passwords.
Clear Trusted Platform Module
OK
Cancel
Used to clear the Trusted Platform Module (TPM) if you are
transferring ownership of the system to a new user.
CPU Frequency Multiplier
User Defined
Sets the ratio between CPU Core Clock and the front side
bus (FSB). This setting is present only when Default
Frequency Ratio is disabled.
CPU Microcode Update Revision
—
Displays processor’s Microcode Update Revision.
CPU Stepping Signature
—
Displays processor’s Stepping Signature.
Default Frequency Ratio
Enabled
Disabled
Enabled uses processor default frequency ratio. Disabled
allows programming of frequency ratio.
Failsafe Watchdog
Disabled
Enabled
When enabled, uses a watchdog timer (WDT) to detect boot
lockups and reset the system with default settings.
Fixed Disk Boot Sector
Enable
Disable
MBR virus protection. Enable: Master boot record is write
protected.
Microcode Revision
—
Displays the processor microcode revision.
Processor Stepping
—
Displays the processor stepping.
Ratio Actual Value
—
Displays the processor core/bus ratio.
Reset Intel AMT to default
factory settings
—
Resets Intel Active Management Technology (AMT) to the
default factory settings.
Use Maximum Multiplier
Automatic
Disabled
Works only on multiplier-unlocked processors. Sets CPU
speed to default or maximum rated multiplier.
Note that most processors are designed to allow operation only at their default multiplier or frequency ratio (a feature called speed locking), whereas some allow higher-than-rated ratios to be
selected.
If a user forgets his password, all he has to do is set the configuration jumper, enter the Maintenance
menu in BIOS Setup, and use the option provided to clear the password. This function doesn’t tell the
user what the password was; it simply clears it, allowing a new one to be set if desired. This means the
security is only as good as the lock on the system case because anybody who can get to the configuration jumper can clear the password and access the system. This is why some computer cases (chassis)
come equipped with locks and chassis intrusion switches that connect to the motherboard, setting a
flag in the BIOS Setup indicating that the system has been opened.
CMOS Setup
Chapter 5
285
Main Menu
The standard CMOS Setup menu dates back to the 286 days, when the complete BIOS Setup consisted
of only one menu. In the standard menu, you can set the system clock and record hard disk and
floppy drive parameters and the basic video type. Newer BIOSs have more complicated setups with
more menus and submenus, so the main menu often is fairly sparse compared to older systems.
The main menu in a modern system reports system information such as the BIOS version, the processor type and speed, the amount of memory, and whether the memory or cache is configured for ECC
functionality. The main menu also can set the system date and time.
Table 5.5 shows a typical main menu.
Table 5.5
Main Menu Settings
Setting
Options
Description
Additional System Information
—
Displays system information, motherboard information,
chassis information, and so on.
BIOS Version
—
Displays the version of the BIOS currently installed.
Core Multiplexing Technology
Enabled
Disabled
When disabled, this setting turns off all but one processor
core. You may need to set this for legacy OSs that do not
support multiple cores. Depending on the particular
processor, the remaining core may have access to more
cache, resulting in better performance under certain
applications.
Front Side Bus (FSB) Frequency
—
Displays the FSB frequency.
Hyper-Threading Technology
Enabled
Disabled
Enables or disables Hyper-Threading Technology (HTT).
L2 Cache RAM
—
Displays the size of L2 cache.
Language
English
French
Selects the language the BIOS uses.
Processor Speed
—
Displays the processor speed.
Processor Type
—
Displays the processor type.
System Bus Speed
—
Displays the system bus speed.
System Date
Month/day/year
Sets the current date.
System Memory Speed
—
Displays the system memory speed.
System Time
Hour:minute:second
Sets the current time.
Total Memory
—
Displays the total amount of RAM.
Most older BIOSs report memory as base and extended memory instead of as a single value. Base
memory is typically 640KB and sometimes is called conventional memory. Extended memory is that
which is beyond the first megabyte in the system.
You can’t change values in the memory fields; they are only for your information because the system
counts them automatically. If the memory count doesn’t match what you have installed, a problem
has likely occurred with some of the memory: It is defective, is not fully seated or properly installed,
or is a type that is incompatible with your system.
286
Chapter 5
BIOS
Advanced Menus
The Advanced menus are used for setting advanced features that the motherboard chipset typically
controls. This part of your BIOS setup is somewhat specific to the particular chipset the motherboard
uses. Many chipsets are available on the market today, and each has unique features. The chipset
setup is designed to enable the user to customize these features and control some of the chipset settings. Table 5.6 shows the typical Advanced menus available.
Table 5.6
Advanced BIOS Menus
Advanced Menu
Description
PCI Configuration
Configures the IRQ priority of individual PCI slots
PCI Express Configuration
Configures PCI express slots
Memory Configuration
Configures memory controller and modules
Boot Configuration
Configures Plug and Play and the NumLock key
Chipset Configuration
Configures advanced chipset features
Peripheral Configuration
Configures peripheral ports and devices
Drive Configuration
Configures ATA devices
Floppy Configuration
Configures the floppy drive
Event Log Configuration
Configures event logging
Video Configuration
Configures video features
USB Configuration
Configures USB support
Fan Control Configuration
Configures fan operation
Hardware Monitoring
Displays voltage, temperature, and fan speeds
Advanced PCI Configuration
The PCI Configuration menu is used to select the IRQ priority of add-on cards plugged into the PCI
slots. Auto (the default) should be used to allow the BIOS and OS to assign IRQs to each slot unless
specific PCI cards require unique IRQs. See Table 5.7 for a typical example.
Table 5.7
Advanced PCI Configuration Menu Settings
Feature
Options
Description
PCI Slot 1 IRQ Priority
Auto (default), 3, 5, 9, 10, 11
Allows selection of the IRQ priority for PCI bus
connector 1
PCI Slot 2 IRQ Priority
Auto (default), 3, 5, 9, 10, 11
Allows selection of the IRQ priority for PCI bus
connector 2
PCI Slot 3 IRQ Priority
Auto (default), 3, 5, 9, 10, 11
Allows selection of the IRQ priority for PCI bus
connector 3
PCI Slot 4 IRQ Priority
Auto (default), 3, 5, 9, 10, 11
Allows selection of the IRQ priority for PCI bus
connector 4
Additional IRQs might be available if onboard devices such as the serial and parallel ports are
disabled.
CMOS Setup
Chapter 5
287
Advanced PCI Express Configuration
The PCI Express Configuration menu is used to configure settings related to the PCI Express bus and
slots. See Table 5.8 for a typical example.
Table 5.8
Advanced PCI Express Configuration Menu Settings
Setting
Options
Description
Compliance Test Pattern
Enabled
Disabled
Used to verify whether a PCI Express slot remains
functional and enabled per PCI Express specification for
compliance test card testing.
Link Stability Algorithm
Enabled
Disabled
Used for verifying that x16 PCIe Link is up and running
for x16 graphics cards.
PCI Express 1.1 Compliance Mode
Enabled
Disabled
Used to force the maximum speed of PCI Express 2.x
cards to PCIe 1.1 mode.
PCIE x16 Link Retrain
GFX Card
Disabled
Enabled
Used to adjust the configuration for devices that may need
accommodations to function properly when link training.
Some PCI Express cards may not be detected properly.
Link retraining allows the system to keep trying to train or
detect and configure the card. This setting increases the
boot time.
PEG Negotiated Width
—
Displays the link train width (x1, x4, x8, x16) of the PCIe
device connected in the x16 PCIe slot. This information is
provided for determining performance issues with x4, x8,
and x16 PCIe cards in an x16 PCIe slot while the Intel
Integrated video (PCIe graphics) is enabled and the “PEG
Allow > 1” option is disabled on the Advanced Chipset
menu.
Advanced Memory Configuration
The options in Table 5.9 set the system’s memory configuration. You can possibly change some of
these settings to overclock the memory; however, if you run into system instability or other problems,
it is recommended that you reset all settings to their default values.
Table 5.9
Advanced Memory Configuration Menu Settings
Setting
Options
Description
CPC Override
Auto
Enabled
Disabled
Controls Command Per Clock/1n rule mode. When enabled, this
setting allows the DRAM controller to attempt Chip Select
assertions in two consecutive common clocks.
Memory Frequency
Options vary
Allows you to manually set the memory speed.
Memory Correction
Non-ECC
ECC
Allows you to turn error reporting on or off if the system and all
the memory installed supports ECC (Error Correction Code).
Memory Mode
—
Displays single or dual channel operation.
SDRAM CAS# Latency
2.0
2.5
3.0
Selects the number of clock cycles required to address a column in
memory. Corresponds to CL.
288
Chapter 5
Table 5.9
BIOS
Continued
Setting
Options
Description
SDRAM Frequency
Auto
266MHz
333MHz
400MHz
Allows override of detected memory frequency
value.
SDRAM RAS Act. To Pre.
8
7
6
5
Selects length of time from read to prechange.
Corresponds to tRAS, min.
SDRAM RAS# Precharge
4
3
2
Selects the length of time required before accessing
a new row.
SDRAM RAS# to CAS# delay
4
3
2
Selects the number of clock cycles between
addressing a row and addressing a column.
Corresponds to tRCD.
SDRAM Timing Control
Auto
Manual—Aggressive
Manual—User Defined
Auto sets memory timings according to the memory
detected. Manual—Aggressive selects the most
aggressive user-defined timings. Manual—User
Defined allows manual override of detected settings.
Total Memory
—
Displays the total amount of RAM.
ECC stands for error correcting code, which involves the use of extra bits on the memory modules to
detect and even correct memory errors on the fly. For ECC to be enabled, the motherboard and
chipset must support ECC, and the more expensive ECC DIMMs would have to be installed.
◊◊
See “ECC,” p. 350 (Chapter 6).
Advanced Boot Configuration
The options in Table 5.10 set the system’s boot-time options, including plug-and-play (PnP) and keyboard configuration.
Table 5.10
Advanced Boot Configuration Menu Settings
Setting
Options
Description
ASF Support
Enabled
Disabled
Disables or enables Alert Standard Format (ASF) support.
Display Setup Prompt
On
Off
Enabled
Disabled
Displays the F2 to enter BIOS setup message during
boot.
Enable allows some legacy OSs to boot on processors with
extended CPUID functions.
Numlock
Off
On
Specifies the power-on state of the Numlock feature on the
numeric keypad of the keyboard.
Plug & Play O/S
No
Yes
Specifies if manual configuration is desired. No lets the BIOS
configure all devices in the system. Yes lets the OS configure
PnP devices.
Limit CPUID MaxVal
CMOS Setup
Chapter 5
289
Advanced Chipset Configuration Menu
Chipset configuration allows access to settings that control the core of the system. Because of the
wide variations in different chipset, motherboard, and BIOS designs, the options you see here may
vary greatly from board to board.
Many motherboards include features designed to overclock the system, which enables you to set the
system to run the CPU bus (and therefore the CPU itself) and possibly other buses at higher-thannormal rated speeds. These settings are especially useful for stress-testing a system after initial assembly, which is often called a burn-in test.
You can use these settings to speed up the processor and interconnected buses such as PCI and AGP.
For specifically testing AGP video or PCI adapter cards, some motherboards allow the AGP/PCI bus
speed to be set independently of the CPU bus. If you intend to use these settings to speed up a system, be aware that—depending on the specific hardware and software you have—running faster than
the default clock speed can reduce system stability and shorten the useful life of the processor, and it
might not be covered under warranty. You also might need to invest in better system cooling to offset
the extra heat generated by overclocking your system. In general, if you don’t know what a particular
setting is designed for, it is best to leave it at the default or automatic setting. If problems occur, start
by returning all frequency and timing settings to their default values.
Table 5.11 lists settings used by a typical motherboard’s Advanced Chipset Configuration menu.
Table 5.11
Advanced Chipset Configuration Menu
Setting
Options
AGP/PCI Burn-In Mode
Default
63.88/31.94
68.05/34.02
69.44/34.72
70.83/35.41
72.22/36.11
73.60/36.80
Description
MHz
MHz
MHz
MHz
MHz
MHz
Enables under- or overclocking the AGP/PCI bus at specific
frequencies. The host clock (system bus speed) is not
changed. If this option is set to anything other than Default
(66.66/33.33MHz), the Host and I/O Burn-In Mode is
automatically set to Default.
CSA Device
Auto
Disable
Enables or disables the Communication Streaming
Architecture (CSA) interface. CSA bypasses the PCI bus to
provide a fast dedicated connection for onboard gigabit
Ethernet adapters. Auto leaves the CSA device enabled if a
device is found on the bus; otherwise, the device is disabled.
DDR2 Voltage
Automatic
1.8
1.9
Automatic: Memory voltage will be adjusted according to
the memory detected. Memory voltage can also be manually
set for testing or overclocking purposes.
Extended Burn-In Mode
Enabled
Disabled
Enabling this option allows the user to select additional
values for system overclocking.
Extended Configuration
Default
User Defined
Chooses the default or user-defined settings for the extended
configuration options.
Host Burn-In Mode
<percentage>
Alters host and I/O clock frequencies to under- or overclock
the system. Percentage options are dependent on the board
and processor models; may be set up to 30%.
Host Burn-In Mode Type
Positive
Negative
Reads the percentage set in Host Burn-In Mode Percentage
as either a positive number (increases speed) or a negative
number (decreases speed).
290
Chapter 5
Table 5.11
BIOS
Continued
Setting
Options
Description
Host Spread Spectrum
Down
Center
Adjusts the mean frequencies for core system clocks to help
prevent electromagnetic interference. Requires additional
POST time.
HPET
Enabled
Disabled
Enables or disables HPET (High Precision Event Timer)
support.
IOAPIC Enable
Enabled
Disabled
Enables or disables the I/O Programmable Interrupt
Controller.
ISA Enable Bit
Enabled
Disabled
When this setting is enabled, a PCI-to-PCI bridge recognizes
only 16-bit I/O addresses that are not aliases of 10-bit ISA
addresses (within the bridge’s assigned I/O range). This helps
prevent resource conflicts with ISA devices that might be present in the system (such as serial or parallel ports) and allows
VGA-compatible address range mapping for ISA devices.
Some older expansion devices require this to be enabled.
MCH Voltage Override
Default
1.525V
1.600V
1.625V
1.725
Allows you to set the Memory Controller Hub (MCH or North
Bridge) voltage for testing or overclocking purposes.
PCI Burn-In Mode
Default
36.36MHz
40.00MHz
Enables the selection of specific PCI clock frequencies for
testing or overclocking purposes. Default is 33.33MHz.
PCI Express Burn-In Mode
Default
101.32MHz
102.64MHz
103.96MHz
105.28MHz
106.6MHz
107.92MHz
109.24MHz
Enables the selection of specific PCI Express clock frequencies
for testing or overclocking purposes. Default is 100.00MHz.
PCI Latency Timer
32
64
96
128
160
192
224
248
Allows you to control the time (in PCI bus clock cycles) that an
agent on the PC bus can hold the bus when another agent
has requested the bus.
PEG Allow > x1
Enabled
Disabled
Enabled allows the system to link train PCI Express devices of
widths x4, x8, and x16 in the GMCH x16 slot while leaving
the Intel Integrated Graphics (PCIe graphics) enabled as well.
Disabled means that all devices plugged into the GMCH x16
slot will link train as x1 PCIe devices if the Intel Integrated
Graphics (PCIe graphics) controller is enabled.
Watchdog Timer
Enabled
Disabled
Enabled monitors the system for timeouts and takes corrective
action if they occur.
CMOS Setup
Chapter 5
291
Advanced Peripheral Configuration
The Peripheral Configuration menu is used to configure the devices built in to the motherboard, such
as serial ports, parallel ports, and built-in audio and USB ports.
Table 5.12 shows a typical Peripheral Configuration menu and its choices.
Table 5.12
Peripheral Configuration Menu Settings
Setting
Options
Description
Auxiliary Power
Enabled
Disabled
Enables or disables on the onboard auxiliary power
connector.
Base I/O Address (for the
Parallel Port)
378
278
Specifies the base I/O address for the parallel port,
if enabled.
Base I/O Address (for the
Serial Port)
3F8
2F8
3E8
2E8
Specifies the base I/O address for serial port A, if enabled.
ECP Mode Use DMA
—
DMA Channel 3 is used by default.
Front Panel 1394 Port 1
1394A
1394B
Sets the IEEE 1394 (FireWire) mode for the front-panel 1394
port.
Front Panel 1394 Port 2
1394A
1394B
Sets the IEEE 1394 (FireWire) mode for the second front-panel
1394 port.
Interrupt (for the Parallel Port)
IRQ 5
IRQ 7
Specifies the interrupt for the parallel port, if enabled.
Interrupt (for the Serial Port)
IRQ 3
IRQ 4
Specifies the interrupt for the serial port, if enabled.
Legacy Front Panel Audio
Enabled
Disabled
When this setting is enabled, the system assumes that a High
Definition audio connector is not present in the system (Legacy
audio is present). When this setting is disabled, the system
assumes that a High Definition audio connector is present in
the system.
Parallel Port Mode
Output Only
Bidirectional
EPP
ECP
Output Only operates in AT-compatible mode. Bidirectional
operates in PS/2-compatible mode. EPP is Enhanced Parallel
Port mode, a high-speed bidirectional mode for nonprinter
peripherals. ECP is Enhanced Capability Port mode, a
high-speed bidirectional mode for printers and scanners.
Onboard 1394
Enabled
Disabled
Enables or disables the onboard IEEE 1394.
Onboard Audio
Enabled
Disabled
Enables or disables the onboard audio.
Onboard LAN Boot ROM
Enabled
Disabled
Enables or disables booting from the network.
Onboard LAN
Enabled
Disabled
Enables or disables the onboard LAN.
Parallel Port
Disabled
Enabled
Auto
Auto assigns LPT1 the address 378h and the interrupt IRQ7.
An asterisk displayed next to an address indicates a conflict
with another device.
292
Chapter 5
Table 5.12
BIOS
Continued
Setting
Options
Description
Secondary SATA Controller
Enabled
Disabled
Enables or disables the secondary SATA controller.
Serial Port
Disabled
Enabled
Auto
Auto assigns COM1 the address 3F8h and the interrupt IRQ4.
An asterisk displayed next to an address indicates a conflict
with another device.
Trusted Platform Module
Enabled
Disabled
Disables or enables the Trusted Platform Module (TPM) security
chip.
I usually recommend disabling the serial and parallel ports if they are not being used because this
frees up those resources for other devices and potentially speeds up boot time.
Advanced Drive Configuration
Of all the BIOS Setup menus, the hard-disk settings are some of the most important.
As with many BIOS Setup settings, the default or automatic values are generally recommended. With
Auto settings, the BIOS sends a special Identify Drive command to the drive, which responds with
information about the correct settings. From this, the BIOS can automatically detect the specifications
and optimal operating mode of almost all ATA and SATA hard drives. When you select Auto for a hard
drive, the BIOS redetects the drive specifications during POST, every time the system boots. You could
swap drives with the power off, and the system would automatically detect the new drive the next
time it was turned on.
In addition to the Auto setting, most older BIOSs offered a standard table of up to 47 drive types with
specifically prerecorded parameters. Each defined drive type had a specified number of cylinders,
number of heads, write precompensation factor, landing zone, and number of sectors. This was used
often many years ago, but it is not used today because no current drives conform to the older type
parameters.
Note that systems dating from 1997 and earlier usually are limited to a maximum drive size of 8.4GB
unless they have a BIOS upgrade. Systems from 1998 and later usually support drives up to 137GB;
systems dating from 2002 and beyond usually support drives beyond 137GB (48-bit LBA support),
although a BIOS upgrade might be necessary for some systems.
Table 5.13 shows the Drive Configuration menu and options for a typical modern motherboard.
Table 5.13
Advanced Drive Configuration Menu Settings
Setting
Options
Description
Access Mode
CHS
LBA
Large
Auto
Allows you to select the sector translation and addressing mode for
drives under 137GB. CHS (cylinder, head, sector) mode supports up
to 528MB hard disks. LBA (logical block addressing) mode supports
hard disks up to 137GB in size. Large mode supports hard disks
above 528MB in size, but it does not support LBA mode.
ATA/IDE Configuration
Disabled
Legacy
Enhanced
Specifies the integrated ATA controller. Disabled disables the
integrated ATA controller. Legacy enables up to two PATA channels
for an OS requiring legacy IDE operation. Enhanced (or Native)
enables all SATA and PATA resources.
CMOS Setup
Table 5.13
Chapter 5
293
Continued
Setting
Options
Description
Cable Detected
—
Displays the type of cable connected to the IDE interface:
40-conductor, 80-conductor, or Serial ATA.
Configure SATA as…
IDE
AHCI
RAID
IDE allows for backward compatibility with non-SATAaware OSs or drivers. AHCI enables the Advanced Host
Controller Interface, which supports features such as Native
Command Queuing (NCQ), hot-plugging, and so on. RAID
enables both AHCI and RAID capability. RAID must be configured using the RAID Configuration Utility.
DMA Mode
Auto
SWDMA 0
SWDMA 1
SWDMA 2
MWDMA 0
MWDMA 1
MWDMA 2
UDMA 0
UDMA 1
UDMA 2
UDMA 3
UDMA 4
UDMA 5
Specifies the DMA mode for the drive.
Drive Installed
—
Displays the type of drive installed.
Hard Disk Pre-Delay
Disabled
3 Seconds
6 Seconds
9 Seconds
12 Seconds
15 Seconds
21 Seconds
30 Seconds
Causes the BIOS to insert a delay before attempting to
detect IDE drives in the system. Designed to give time for
slower drives to spin up.
Intel RAID Technology
Enabled
Disabled
Enables or disables Intel Matrix Storage RAID technology.
Legacy IDE Channels
PATA Pri only
PATA Sec only
PATA Pri and Sec
SATA P0/P1 only
SATA P0/P1, PATA Sec
SATA P0/P1, PATA Pri
Configures PATA and SATA resources for an OS requiring
legacy IDE operation. P0 = SATA connector 0; P1 =
SATA connector 1.
Maximum Capacity
—
Displays the capacity of the drive.
Onboard Chip SATA
IDE Controller
SATA Disabled
With IDE Controller, both IDE and SATA channels are
detected. With SATA Disabled, SATA channels are not
detected.
PCI IDE Bus Master
Disabled
Enabled
Allows a PCI ATA device to initiate a transaction as a
master.
294
Chapter 5
Table 5.13
BIOS
Continued
Setting
Options
Description
PIO Mode
Auto
0
1
2
3
4
Specifies the ATA PIO mode.
Primary IDE Master
[drive]
Displays the drive installed on this IDE channel. Shows
[None] if no drive is installed.
Primary IDE Slave
[drive]
Displays the drive installed on this IDE channel. Shows
[None] if no drive is installed.
Secondary IDE Master
[drive]
Displays the drive installed on this IDE channel. Shows
[None] if no drive is installed.
Secondary IDE Slave
[drive]
Displays the drive installed on this IDE channel. Shows
[None] if no drive is installed.
S.M.A.R.T.
Auto
Disable
Enable
Enables or disables support for the hard disk’s S.M.A.R.T.
Self-Monitoring, Analysis, and Reporting Technology)
(capability. S.M.A.R.T. allows the early prediction and
warning of impending hard disk failures.
First SATA Master
[drive]
Displays the drive installed on this SATA channel. Shows
[None] if no drive is installed.
Second SATA Master
[drive]
Displays the drive installed on this SATA channel. Shows
[None] if no drive is installed.
Third SATA Master
[drive]
Displays the drive installed on this SATA channel. Shows
[None] if no drive is installed.
Fourth SATA Master
[drive]
Displays the drive installed on this SATA channel. Shows
[None] if no drive is installed.
Fifth SATA Master
[drive]
Displays the drive installed on this SATA channel. Shows
[None] if no drive is installed.
Sixth SATA Master
[drive]
Displays the drive installed on this SATA channel. Shows
[None] if no drive is installed.
Type
Auto
User
Specifies the IDE configuration mode for IDE devices. Auto
fills-in capabilities from the ATA/ATAPI device. User allows
capabilities to be changed.
Use Automatic Mode
Enabled
Disabled
Allows you to manually set the bootable devices
configuration for legacy OSs. Legacy OSs may only allow
four devices, which means you must choose to use the IDE
controller as one of your four devices.
The SATA controller mode setting is of particular importance. This setting controls how SATA hard
drives function and appear to the system and can have a major effect on OS installation and driver
issues.
One of the requirements of SATA is that it be capable of fully emulating ATA. This means that a SATA
drive should be able to be supported by the same drivers and software as Parallel ATA drives. Although
CMOS Setup
Chapter 5
295
this is true, adherence to this would mean that additional capabilities such as native command queuing could never be supported. To support features beyond standard ATA, SATA has a more powerful
“native” mode interface called AHCI (Advanced Host Controller Interface).
The SATA controller on most motherboards has three modes of operation:
■ IDE mode—Provides legacy ATA emulation with no AHCI or RAID support
■ AHCI mode—Provides support for native SATA functionality without RAID
■ RAID mode—Provides both RAID and AHCI support
Any OS or software that supports standard ATA drives also supports SATA drives if the host adapter is
set to IDE mode. This means that, for example, you can install Windows on a SATA drive without
having to press the F6 key to specify and load additional drivers. However, if you choose AHCI or
RAID/AHCI modes, the standard ATA drivers will not work, and you will need AHCI/RAID drivers
instead. So if you are installing Windows on a system with a SATA host adapter set to AHCI or RAID
mode and Windows does not recognize the drive, you need to press the F6 key and install the
AHCI/RAID drivers. Windows XP and earlier only support loading these drivers from a floppy disk,
whereas Windows Vista and later support optical drives as well as USB drives (including flash drives).
Note that Windows Vista and later include AHCI/RAID drivers for many SATA host adapters on the
installation DVD; it is also possible to integrate these drivers into Windows XP install discs. See
www.driverpacks.net for mass storage (and other) driverpacks that can easily be slipstreamed into
Windows XP install discs, eliminating the need to load them manually during the installation
process.
Switching SATA modes in the BIOS setup after the OS is installed can cause problems if a SATA drive is
the boot drive, and you have not loaded the proper drivers in advance. For example, if you switch
modes on a system running Windows XP or Vista, on the next boot you will most likely have an
immediate blue screen error, as follows:
STOP: 0x0000007B (parameter1, parameter2, parameter3, parameter4)
INACCESSIBLE_BOOT_DEVICE
In this case, changing the host adapter back to IDE mode should allow the system to boot again.
The hard disk predelay function is to delay accessing drives that are slow to spin up. Some drives
aren’t ready when the system begins to look for them during boot time, causing the system to display
Fixed Disk Failure messages and fail to boot. Setting this delay allows time for the drive to become
ready before continuing the boot process. Of course, this slows down the boot process, so if your
drives don’t need this delay, disable this function.
Advanced Floppy Configuration
The Floppy Configuration menu is for configuring the floppy drive and interface. Table 5.14 shows
the options in a typical BIOS Setup.
Table 5.14
Advanced Floppy Configuration Menu
Setting
Options
Description
Diskette Controller
Enabled
Disabled
Configures the integrated floppy controller.
Diskette Write Protect
Enabled
Disabled
Disables or enables diskette drive write protection.
296
Chapter 5
Table 5.14
BIOS
Continued
Setting
Options
Description
Floppy A
Disabled
360KB 5 1/4 inch
1.2MB 5 1/4 inch
720KB 3 1/2 inch
1.44MB 3 1/2 inch
2.88MB 3 1/2 inch
Selects the floppy drive type.
By enabling the write-protect feature, you can disallow writing to floppy disks. This can help prevent
the theft of data as well as help to prevent infecting disks with viruses should they be on the system.
Advanced Event Log Configuration
The Event Logging menu is for configuring the System Management (SMBIOS) and AMT (Active
Management Technology) event-logging features. SMBIOS is a DMI-compliant method for managing
computers on a managed network. DMI stands for Desktop Management Interface, a special protocol
that software can use to communicate with the motherboard. AMT allows for powerful remote access
and troubleshooting capabilities, including hardware and software inventory, proactive altering, and
remote troubleshooting and recovery.
Using SMBIOS and AMT, a system administrator can remotely obtain information about a system.
System management applications run by network administrators can use SMBIOS and AMT to report
the following DMI information:
■ BIOS data, such as the BIOS revision level
■ System data, such as installed peripherals, serial numbers, and asset tags
■ Resource data, such as memory size, cache size, and processor speed
■ Dynamic data such as event detection, including event detection and error logging
Table 5.15 shows a typical Event Logging menu in BIOS Setup.
Table 5.15
Advanced Event Log Configuration Menu
Setting
Options
Description
Clear All DMI Event Log
Yes
No
Yes means the DMI Event Log will be cleared at the next
POST; then this option automatically resets to No.
DMI Event Log
Enabled
Disabled
Enables or disables the storing of POST error messages to
the DMI Event Log.
ECC Event Logging
Enabled
Disabled
Enables or disables event logging of ECC events.
Event Log Capacity
—
Indicates if there is space available in the Event Log.
Event Log Validity
—
Indicates if the Event Log information is valid.
Mark DMI Events As Read
[Enter]
Marks all DMI events in the Event Log as read.
View Event Log
[Enter]
Press Enter to show all DMI Event Logs.
Some motherboards with ECC memory also support logging ECC events. I find event logging particularly useful for tracking errors such as ECC errors. Using the View Log feature, you can see whether
the system has detected (and corrected) any errors.
CMOS Setup
Chapter 5
297
Advanced Video Configuration
The Video Configuration menu is for configuring video features. Table 5.16 shows the functions of
this menu in a typical modern motherboard BIOS.
Table 5.16
Advanced Video Configuration Menu
Setting
Options
Description
Aperture Size
4MB
8MB
16MB
32MB
128MB
256MB
Establishes the maximum amount of system memory that the OS
can use for video memory. This is primarily used for buffering
textures for the AGP video device.
DVMT Mode
DVMT
Fixed
Both
Dynamic Video Memory Technology (DVMT) dynamically allocates
video memory based on memory requests made by applications;
memory is released once the requesting application has been
terminated. With the Fixed option, video memory is allocated
during driver initialization to provide a static amount of memory.
The Both option allows the combination of both Fixed- and DVMTtype driver allocation methods; used to guarantee a minimum
amount of video memory but gives the flexibility of DVMT for
enhanced performance.
Frame Buffer Size
1MB
8MB
16MB
Sets the frame buffer size. Frame buffer size is the total amount of
system memory locked by the BIOS for video. A larger frame
buffer size should result in higher video performance.
Onboard Video Memory Size
32MB
64MB
128MB
256MB
Amount of system memory available for direct access by the
graphics device.
PCI/VGA Palette Snoop
Enabled
Disabled
Some special VGA cards and high-end hardware MPEG decoders
need to be able to look at the video card’s VGA palette to determine what colors are currently in use. Enabling this feature turns
on this palette “snoop.” This option is only rarely needed and
should be left disabled unless a video device specifically requires
the setting enabled upon installation.
Primary Video Adapter
AGP
PCI
PCIe
Onboard
Auto
Allows selecting a specific video controller as the display device
that will be active when the system boots.
Secondary Video Adapter
AGP
PCI
PCIe
Onboard
Auto
Allows selecting a specific video controller as the secondary
display device.
298
Chapter 5
BIOS
The most common use of this menu is to change the primary video device. This is useful for dualmonitor configurations. Using this feature, you can set the PCI Express, AGP, or PCI video card to be
the primary boot device.
Advanced USB Configuration Menu
The USB Configuration menu is used for configuring the USB ports on the system. Table 5.17 shows
the functions of this menu in a typical modern motherboard BIOS.
Table 5.17
Advanced USB Configuration Menu
Setting
Options
Description
USB 2.0
Enabled
Disabled
Disabled turns off all USB functionality. This feature can be
used for security purposes.
USB 2.0 Legacy Support
Full-Speed
Hi-Speed
Configures the USB 2.0 legacy support to Full-Speed
(12Mbps) or Hi-Speed (480Mbps).
USB EHCI Controller
Enabled
Disabled
Enables or disables high-speed USB transfers (USB 2.0).
USB Function
Enabled
Disabled
Enables or disables USB functionality. If Disabled is set, the
Advanced USB Configuration menu does not include
changeable options. The menu appears blank. This setting is
present only when the BIOS configuration jumper is set to
Maintenance mode.
USB Legacy
Enabled
Disabled
USB Legacy support allows the BIOS to interact with a USB
keyboard and, in limited cases, a USB mouse.
USB Ports
Enabled
Disabled
Enables or disables all USB ports.
USB ZIP Emulation Type
Floppy
Hard Disk
Allows you to set the emulation type for USB zip drives.
Legacy USB support means support for USB keyboards and mice independent of the OS or drivers. If
you are using USB keyboards and mice with this option disabled, you will find that the keyboard and
mouse are not functional until a USB-aware OS is loaded. This can be a problem when running diagnostics software, older OSs, or other applications that run outside of USB-aware OSs or environments.
Note that even with legacy support disabled, the system still recognizes a USB keyboard and enables it
to work during the POST and BIOS Setup. If USB legacy support is disabled (the default on some systems), the system operates as follows:
1. When you power up the computer, USB legacy support is disabled.
2. POST begins.
3. The BIOS temporarily enables USB legacy support. This allows you to use a USB keyboard to
enter the setup program or Maintenance mode.
4. POST completes and disables USB legacy support (unless it was set to Enabled while in Setup).
5. The OS loads. While the OS is loading, USB keyboards and mice are not recognized. After the
OS loads the USB drivers, the USB devices are recognized.
CMOS Setup
Chapter 5
299
To install an OS that supports USB when using a USB keyboard or mouse, enable USB legacy support
in BIOS Setup and follow the OS’s installation instructions. After the OS is installed and the USB
drivers are configured, USB legacy support is no longer used and the OS USB drivers take over.
However, I recommend that you leave legacy support enabled so the USB keyboard and mouse function while running self-booting or DOS-based diagnostics or when running other non-USB-aware OSs.
USB legacy support is for keyboards and mice only; it doesn’t work for USB hubs or other USB devices.
For devices other than keyboards or mice to work, you need a USB-aware OS with the appropriate USB
drivers.
Advanced Fan Control Configuration Menu
Most systems have one or more chassis fans to help cool the system. Table 5.18 shows the function of
the Fan Control Configuration menu on a typical high-performance PC.
Table 5.18
Advanced Fan Control Configuration Menu
Setting
Options
Description
Automatic Fan Detection
Next Boot
Disable
Always
Next Boot detects fans added to the motherboard upon next
boot only. Disabled does not detect fans added to the
motherboard; new fans may perform erratically. Always
detects fans added to the motherboard; may cause a slight
delay and increased noise during startup.
Lowest System Fan Speed
Slow
Off
This option defines the system fan speed at the lowest system
temperature. Slow allows the fans to continue to run at a
reduced speed at low system temperatures. Off turns off the
system fans at low system temperatures.
Processor Zone Response
Aggressive
Normal
Slow
Adjusts acoustics for fan heatsink solutions. For less efficient
fan heatsink solutions, set CPU Zone Response to
Aggressive. For more efficient fan heatsink solutions, set the
CPU Zone Response to Slow.
Unlock Intel(R) QST
No
Yes
Unlocking Quiet System Technology (QST) allows the fan
control settings to be changed using software.
CPU Fan Control
Enabled
Disabled
Allows the CPU fan to be controlled to optimize acoustics.
If this setting is disabled, the CPU fan runs at 100%.
System Fan Control
Enabled
Disabled
Allows the system fans to be controlled to optimize
acoustics. If this setting is disabled, system fans run
at 100%.
Many newer boards have built-in monitor chips that can read temperature, voltage, and fan speeds.
Those that do often include a screen in the BIOS Setup that allows you to view the readings from the
monitor chip. Usually such boards also include a hardware monitor program that runs under
Windows for more convenient monitoring while the system is in use (see Table 5.19).
300
Chapter 5
Table 5.19
BIOS
Advanced Hardware Monitoring Display
Feature
Description
+1.5V in
Displays the +1.5V input level
+12V in
Displays the +12V input level
+3.3V in
Displays the +3.3V input level
+5V in
Displays the +5V input level
Ambient Air Temperature
Displays the remote thermal diode temperature
Aux Fan
Displays the aux fan speed
Chassis Inlet Fan
Displays the front chassis fan speed
Chassis Outlet Fan
Displays the rear chassis fan speed
CPU Cooling Fan
Displays the fan speed of the CPU fan
CPU Temperature
Displays the processor temperature
ICH Temperature
Displays the I/O Controller Hub (ICH) South Bridge temperature
MCH Temperature
Displays the Memory Controller Hub (MCH) North Bridge temperature
VCORE Voltage
Displays the CPU core operating voltage
Security Menu
Most BIOSs include two passwords for security, called the supervisor and user passwords. These passwords help control who is allowed to access the BIOS Setup program and who is allowed to boot the
computer. The supervisor password is also called a setup password because it controls access to the
setup program. The user password is also called a system password because it controls access to the
entire system.
If a supervisor password is set, a password prompt is displayed when an attempt is made to enter the
BIOS Setup menus. When entered correctly, the supervisor password gives unrestricted access to view
and change all the Setup options in the Setup program. If the supervisor password is not entered or is
entered incorrectly, access to view and change Setup options in the Setup program is restricted.
If the user password is set, the password prompt is displayed before the computer boots up. The password must be entered correctly before the system is allowed to boot. Note that if only the supervisor
password is set, the computer boots without asking for a password because the supervisor password
controls access only to the BIOS Setup menus. If both passwords are set, the password prompt is displayed at boot time, and either the user or the supervisor password can be entered to boot the computer. In most systems, the password can be up to seven or eight characters long.
If you forget the password, most systems have a jumper on the board that allows all passwords to be
cleared. This means that for most systems, the password security also requires that the system case be
locked to prevent users from opening the cover and accessing the password-clear jumper. This jumper
is often not labeled on the board for security reasons, but you can find it in the motherboard or system documentation.
Provided you know the password and can get into the BIOS Setup, a password can also be cleared by
entering the BIOS Setup and selecting the Clear Password function. If no Clear function is available,
you can still clear the password by selecting the Set Password function and pressing Enter (for no
password) at the prompts.
Table 5.20 shows the security functions in a typical BIOS Setup.
CMOS Setup
Table 5.20
Chapter 5
301
Security Settings Menu
Setting
Options
Description
Chassis Intrusion
Enabled
Disabled
Enables or disables the chassis intrusion feature.
Clear User Password
Yes
No
Clears the user password.
Security Option
Setup
System
If you set a supervisor or user password, this setting selects
whether the password is required every time the system boots
or only when you enter Setup.
Set Supervisor Password
—
Specifies the supervisor password, which can be up to seven
alphanumeric characters.
Set User Password
—
Specifies the user password, which can be up to seven
alphanumeric characters.
Supervisor Password
—
Reports if a supervisor password is set.
User access Level
Limited
No Access
View Only
Full
Sets BIOS Setup Utility access rights for the user level. This
BIOS setting is present only if both a user password and a
supervisor password have been set.
User Password
—
Reports if there is a user password set.
VT Technology
Enabled
Disabled
Enables or disables Virtualization Technology.
XD Technology
Enabled
Disabled
Enables or disables Execute Disable memory protection,
which can prevent buffer overflow attacks.
To clear passwords if the password is forgotten, most motherboards have a password-clear jumper or
switch. Intel motherboards require that you set the configuration jumper, enter the Maintenance
menu in BIOS Setup, and select the Clear Password feature. If you can’t find the documentation for
your board and aren’t sure how to clear the passwords, you can try removing the battery for 15 minutes or so—it clears the CMOS RAM. It can take that long for the CMOS RAM to clear on some systems because they have capacitors in the circuit that retain a charge. Note that this also erases other
BIOS settings, including the hard disk settings, so you should record them beforehand.
Power Menu
Power management is defined as the capability of the system to automatically enter power-conserving
modes during periods of inactivity. Two main classes of power management exist; the original standard was called Advanced Power Management (APM) and was supported by most systems since the
386 and 486 processors. More recently, a new type of power management called Advanced
Configuration and Power Interface (ACPI) has been developed and began appearing in systems during
1998. Most systems sold in 1998 or later support the more advanced ACPI type of power management. In APM, the BIOS does the actual power management, and the OS or other software has little
control. With ACPI, the power management is done by the OS and BIOS together. This makes the
control more centralized and easier to access, and it enables applications to work with the power
management. Instead of using the BIOS Setup options, you merely ensure that ACPI is enabled in the
BIOS Setup and then manage all the power settings through the Power configuration settings in
Windows 98 and later.
302
Chapter 5
BIOS
Table 5.21 shows the typical power settings found in a managed system.
Table 5.21
Power Settings Menu
Setting
Options
Description
ACPI Suspend Mode
(or ACPI Suspend State)
S1 State
S3 State
Specifies the ACPI sleep state. S1 = POS (Power On Suspend).
Everything remains fully powered. S3 = STR (Suspend To RAM).
Only RAM has power. S3 is the recommended setting for maximum power savings.
After Power Failure
Stay Off
Last State
Power On
Determines the mode of operation once power is restored after a
power loss occurs. Stay Off keeps the power off until the power
button is pressed. Last State restores the previous power state
before power loss occurs. Power On restores power to the
computer.
APM
Enabled
Disabled
Disables or enables APM (advanced power management).
EIST
Enabled
Disabled
Enables or disables Enhanced Intel Speedstep Technology (EIST),
advanced CPU power management that includes adjustable
frequency and voltage.
Energy Lake
Enabled
Disabled
Disables or enables Energy Lake power management technology.
Energy Lake technology introduces two main end-user features:
Consumer Electronics (CE)–style power behavior and the ability
to maintain system state and data integrity during power loss
events.
Hard Drive
Enabled
Disabled
Enables power management for hard disks during APM standby
mode.
Inactivity Timer
Off
1 Minute
5 Minutes
10 Minutes
20 Minutes
30 Minutes
60 Minutes
120 Minutes
Specifies the amount of time before the computer enters APM
standby mode.
Intel Quick Resume
Technology
Enabled
Disabled
Enables or disables Intel Quick Resume Technology (QRT), a
component of Intel Viiv Technology.
Keyboard Select
Disable
Keyboard
Select Keyboard to allow a PS/2 keyboard to wake the system
from the S5 state.
Video Repost
Enabled
Disabled
Allows the video BIOS to be initialized coming out of the S3
state. Some video controllers require this option to be enabled.
This BIOS setting is present only when ACPI Suspend State is set
to S3.
Wake on LAN from S5
Stay Off
Power-On
Determines how the system responds to a LAN wakeup event
when the system is in the ACPI soft-off mode. This BIOS setting is
present only on Intel Desktop Boards that include onboard LAN.
Wake on Modem Ring
Stay Off
Power-On
Specifies how the computer responds to an incoming call on an
installed modem when the power is off.
CMOS Setup
Table 5.21
Chapter 5
303
Continued
Setting
Options
Description
Wake on PCI PME
Stay Off
Power-On
Determines how the system responds to a PCI PME wakeup
event.
Wake on PS/2 Mouse
from S3
Stay Off
Power-On
Determines how the system responds to a PS/2 mouse wakeup
event.
When in Standby mode, the BIOS reduces power consumption by spinning down hard drives and
reducing power to or turning off monitors that comply with Video Electronics Standards Organization
(VESA) and Display Power Management Signaling (DPMS). While in Standby mode, the system can
still respond to external interrupts, such as those from keyboards, mice, fax/modems, or network
adapters. For example, any keyboard or mouse activity brings the system out of Standby mode and
immediately restores power to the monitor.
In most systems, the OS takes over most of the power management settings; in some cases, it can
even override the BIOS settings. This is definitely true if the OS and motherboard both support ACPI.
Boot Menu (Boot Sequence, Order)
The Boot menu is used for setting the boot features and the boot sequence (through menus). If your
OS includes a bootable CD—Windows XP, for example—use this menu to change the boot drive order
to check your CD before your hard drive. Table 5.22 shows the functions and settings available on a
typical motherboard.
Table 5.22
Boot Menu Settings
Setting
Options
Description
1st ATAPI CD-ROM Drive
Dependent on installed drives
Specifies the boot sequence from the available optical drives. This list displays up to
four ATAPI drives.
1st Hard Disk Drive
Dependent on installed drives
Specifies the boot sequence from the
available hard disk drives. This list displays
up to 12 hard disk drives.
1st Removable Device
Dependent on installed devices
Specifies the boot sequence from the available removable devices. This list displays up
to four removable devices.
1st Boot Device
Removable Device
Hard Drive
ATAPI CD-ROM
Network Disabled
Removable Device
Hard Drive
ATAPI CD-ROM
Network Disabled
Specifies the boot sequence from the
available devices.
Removable Device
Hard Drive
ATAPI CD-ROM
Network Disabled
Specifies the boot sequence from the
available devices.
2nd Boot Device
3rd Boot Device
Specifies the boot sequence from the
available devices.
304
Chapter 5
Table 5.22
BIOS
Continued
Setting
Options
Description
4th Boot Device
Removable Device
Hard Drive
ATAPI CD-ROM
Network Disabled
Specifies the boot sequence from the available
devices.
AddOn ROM Display Mode
Enabled
Disabled
With Enabled, adapter card ROM messages are
visible. With Disabled, adapter card ROM messages
are hidden.
Boot to Network
Enabled
Disabled
Disables or enables booting from the network.
Boot to Optical Devices
Enabled
Disabled
Disables or enables booting from optical devices
(CD/DVD).
Boot to Removable Devices
Enabled
Disabled
Disables or enables booting from removable devices
(floppy/USB).
Halt On
All Errors
No Errors
All, But Keyboard
Used to configure what types of POST errors halt the
system boot.
Intel Rapid BIOS Boot
Enabled
Disabled
Allows BIOS to skip certain tests while booting.
PXE Boot to LAN
Enabled
Disabled
Disables or enables Preboot eXecution Environment
boot to LAN.
Scan User Flash Area
Disabled
Enabled
Enables the BIOS to scan the flash ROM for user
binary files that are executed at boot time.
Silent Boot
Enabled
Disabled
Enabled
Disabled
Disabled displays normal POST messages. Enabled
displays OEM logo instead of POST messages.
Disables or enables booting from USB boot devices.
USB Mass Storage
Emulation Type
Auto
All Removable
All Fixed Disc Size
Allows you to set the emulation type for USB drives.
Auto relies on USB device design and media format to
tset emulation type. All Removable sets USB mass
devices to emulate removable drives. (Master Boot
Record format required for USB storage devices.) All
Fixed Disc sets USB mass devices to emulate fixed
discs. Size sets emulation type based on media size.
ZIP Emulation Type
Floppy
Hard Disk
Allows you to set the emulation type for USB Zip
drives.
UEFI Boot
Enable
Disable
Enable UEFI (Unified Extended Firmware Interface)
Boot to boot from a 2.2TB or larger drive.
USB Boot
Using this menu, you can configure which devices your system boots from and in which order the
devices are sequenced. From this menu, you also can access Hard Drive and Removable Devices
menus, which enable you to configure the ordering of these devices in the boot sequence. For example, you can set hard drives to be the first boot choice, and then in the hard drive menu, decide to
boot from the secondary drive first and the primary drive second. Normally, the default with two
drives is the other way around.
CMOS Setup
Chapter 5
305
The Boot Menu lists up to 12 hard disks and four removable devices, enabling you to choose the preferred boot device; older systems usually list only primary and secondary master and slave (four)
drives. This BIOS option enables you to install more than one bootable hard disk in your computer
and select which one you want to boot from at a BIOS level, rather than by using a boot manager
program. If you need to work with multiple OSs, this menu can be useful.
Most recent systems also enable you to boot from external USB drives, including flash or thumb
drives.
If you are booting from a hard drive that is 2.2TB or larger in capacity, you must enable UEFI (Unified
Extended Firmware Interface) Boot in the BIOS Setup and install an OS that supports UEFI. Also, you
must format the drive using the GUID (Globally Unique Identifier) Partition Table (GPT) format.
Exit Menu
The Exit menu is for exiting the Setup program, saving changes, and loading and saving defaults.
Table 5.23 shows the typical selections found in most motherboard BIOSs.
Table 5.23
Exit Menu Settings
Feature
Description
Exit Saving Changes
Exits and saves the changes in CMOS RAM.
Exit Discarding Changes
Exits without saving any changes made in the BIOS Setup.
Load Optimal Defaults
Loads the factory (optimal) default values for all the Setup options.
Load Custom Defaults
Loads the custom defaults for Setup options.
Save Custom Defaults
Saves the current values as custom defaults in CMOS RAM. Normally, the BIOS
reads the saved Setup values from CMOS RAM. If this memory is corrupted, the
BIOS reads the custom defaults. If no custom defaults are set, the BIOS reads the
factory defaults from the flash ROM.
Discard Changes
Discards changes without exiting Setup. The option values present when the
computer was turned on are used.
After you have selected an optimum set of BIOS Setup settings, you can save them using the Save
Custom Defaults option. This enables you to quickly restore your settings if they are corrupted or lost.
All BIOS settings are stored in the CMOS RAM memory, which is powered by a battery attached to the
motherboard.
Additional BIOS Setup Features
Some systems have additional features in their BIOS Setup screens, which might not be found in all
BIOSs. Some of the more common features you might see are listed in Table 5.24.
Table 5.24
Additional BIOS Setup Features
Feature
Description
Virus Warning
When this feature is enabled, you receive a warning message if a program attempts to
write to the boot sector or the partition table of the hard disk drive. If you get this warning during normal operation, you should run an antivirus program to see whether an
infection has occurred. This feature protects only the master boot sector, not the entire
hard drive. Note that programs that usually write to the master boot sector, such as
FDISK, can trigger the virus warning message.
306
Chapter 5
Table 5.24
BIOS
Continued
Feature
Description
CPU Internal Cache/
External Cache
This allows you to disable the L1 (internal) and L2 (external) CPU caches. This is often
used when testing memory, in which case you don’t want the cache functioning. For
normal operation, both caches should be enabled.
Quick Power-On Self Test
When enabled, this feature reduces the time required to run the POST. A quick POST
skips certain steps, such as the memory test. If you trust your system, you can enable the
quick POST, but in most cases I recommend leaving it disabled so you get the full-length
POST version.
Swap Floppy Drive
This field is functional only in systems with two floppy drives. Selecting Enabled assigns
physical drive B: to logical drive A: and physical drive A: to logical drive B:.
Boot Up Floppy Seek
When this feature is enabled, the BIOS tests (seeks) floppy drives to determine whether
they have 40 or 80 tracks. Only 360KB floppy drives have 40 tracks; drives with
720KB, 1.2MB, and 1.44MB capacity all have 80 tracks. Because few modern PCs
have 40-track floppy drives, you can disable this function to save time.
Boot Up System Speed
Select High to boot at the default CPU speed; select Low to boot at a simulated 8MHz
speed. The 8MHz option often was used in the past with certain copy-protected
programs, which would fail the protection scheme if booted at full speed. This option is
not used today.
Gate A20 Option
Gate A20 refers to the way the system addresses memory above 1MB (extended memory). When this feature is set to Fast, the system chipset controls Gate A20. When this
feature is set to Normal, a pin in the keyboard controller controls Gate A20. Setting
Gate A20 to Fast improves system speed, particularly with protected- mode OSs such
as Windows 9x and Windows 2000/XP.
Typematic Rate Setting
When this feature is disabled, the following two items (Typematic Rate and Typematic
Delay) are irrelevant. Keystrokes repeat at a rate determined by the keyboard controller
in your system. When this feature is enabled, you can select a typematic rate and
typematic delay.
Typematic Rate
When the Typematic Rate setting is enabled, you can select a typematic rate—the rate
(chars/sec) at which characters repeat when you hold down a key—of 6, 8, 10, 12,
15, 20, 24, or 30 characters per second.
Typematic Delay (Msec)
When the Typematic Rate setting is enabled, you can select a typematic delay (the delay
before keystrokes begin to repeat) of 250, 500, 750, or 1,000 milliseconds.
Report No FDD for
Windows 95
Compatibility
Select Yes to release IRQ6 when the system contains no floppy drive, for compatibility
with Windows 95 logo certification. In the Integrated Peripherals screen, select Disabled
or the Onboard FDC Controller field.
ROM Shadowing
ROM chips typically are slow, around 150ns (nanoseconds), and operate only 8 bits at
a time, whereas RAM runs 60ns or even 10ns or less and is either 32 bits or 64 bits
wide in most systems. Shadowing is the copying of BIOS code from ROM into RAM,
where the CPU can read the BIOS drivers at the higher speed of RAM.
PnP BIOS
Originally, installing and configuring devices in PCs was difficult. During installation, the user was
faced with the task of configuring the new card by selecting the IRQ, I/O ports, and DMA channel. In
the past, users were required to move jumpers or set switches on the add-in cards to control these settings. They needed to know exactly which resources were already in use so they could find a set of
PnP BIOS
Chapter 5
307
resources that did not conflict with the devices already in the system. If a conflict existed, the system
might not boot, and the device might fail or cause the conflicting hardware to fail.
PnP is technology designed to prevent configuration problems and provide users with the capability
to easily expand a PC. With PnP, the user simply plugs in the new card, and the system configures it
automatically for proper operation.
PnP is composed of three principal components:
■ PnP BIOS
■ Extended System Configuration Data (ESCD)
■ PnP OS
The PnP BIOS initiates the configuration of the PnP cards during the bootup process. If the cards previously were installed, the BIOS reads the information from ESCD, initializes the cards, and boots the
system. During the installation of new PnP cards, the BIOS consults the ESCD to determine which system resources are available and needed for the add-in cards. If the BIOS is capable of finding sufficient
available resources, it configures the cards. However, if the BIOS is incapable of locating sufficient
available resources, the PnP routines in the OS complete the configuration process. During the configuration process, the configuration registers (in flash BIOS) on the cards and the ESCD are updated
with the new configuration data.
PnP Device IDs
All PnP devices must contain a PnP device ID to enable the OS to uniquely recognize the device so it
can load the appropriate driver software. Each device manufacturer is responsible for assigning the
PnP ID for each product and storing it in the hardware.
Each manufacturer of PnP devices must be assigned an industry-unique, three-character vendor ID.
Then the device manufacturer is responsible for assigning a unique product ID to each product
model. After an ID is assigned to a product model, it must not be assigned to any other product
model manufactured by the same company (that is, one that uses the same vendor ID).
Note
For a comprehensive list of PnP device IDs, see the Microsoft Plug and Play ID page at (http://microsoft.com/whdc/
system/pnppwr/pnp/pnpid.mspx).
ACPI
ACPI stands for Advanced Configuration and Power Interface, which defines a standard method for
integrating power management as well as system-configuration features throughout a PC, including
the hardware, OS, and application software. ACPI goes far beyond the previous standard, called
Advanced Power Management (APM), which consists mainly of processor, hard disk, and display control.
ACPI controls not only power, but also all the PnP hardware configuration throughout the system.
With ACPI, system configuration (PnP) as well as power management configuration are no longer
controlled via the BIOS Setup; instead, they are controlled entirely within the OS.
The ACPI specification was created by Intel, Microsoft, and Toshiba; version 1.0 was released in 1996.
ACPI became one of the major requirements for Microsoft’s PC’97 logo certification program, causing
motherboard and BIOS manufacturers to work on integrating ACPI into systems during that time.
Intel integrated ACPI support in chipsets starting in April 1998 with the PIIX4E southbridge, and
Microsoft added ACPI support in Windows starting with the release of Windows 98 (June 25, 1998) as
308
Chapter 5
BIOS
part of what Microsoft called “OnNow” design. By the time Windows 2000 was released (February 17,
2000), ACPI had universally replaced APM as the primary power management and control interface
on new systems.
ACPI enables the system to automatically turn on and off peripherals (such as optical drives, network
cards, hard disk drives, and printers), as well as external devices connected to the PC (such as DVRs,
televisions, telephones, and stereos). ACPI technology also enables peripherals to turn on or activate
the PC. For example, a DVR can turn on the PC, which could then activate a large-screen television
and high-fidelity sound system.
ACPI enables system designers to implement a range of power management features with various
hardware designs while using the same OS driver. ACPI also uses the PnP BIOS data structures and
takes control over the PnP interface, providing an OS-independent interface for configuration and
control. Microsoft has included support for ACPI in Windows since Windows 98.
During the system setup and boot process, Windows versions supporting ACPI perform a series of
checks and tests to see whether the system hardware and BIOS support ACPI. If support for ACPI is
either not detected or found to be faulty, the system typically reverts to standard Advanced Power
Management control, but problems can also cause a lockup with either a red or blue screen with an
ACPI error code.
Red screens indicate that the problem is probably related to hardware or the BIOS. Blue screens, on
the other hand, indicate that the problem is probably related to software or is an obscure problem.
The ACPI error codes are described in Table 5.25.
Table 5.25
ACPI Error Codes
Error Code
Description
1xxx -
Indicates an error during the initialization phase of the ACPI driver and usually means the
driver can’t read one or more of the ACPI tables
2xxx -
Indicates an ACPI machine language (AML) interpreter error
3xxx -
Indicates an error within the ACPI driver event handler
4xxx -
Indicates thermal management errors
Virtually all these errors are the result of partial or incomplete ACPI implementations or incompatibilities in either the BIOS or device drivers. If you encounter any of these errors, contact your motherboard manufacturer for an updated BIOS or the device manufacturers for updated drivers.
BIOS/MBR Error Messages
When a PC system is first powered on, the system runs a POST. If errors are encountered during the
POST, you usually see a text error message displayed onscreen. Errors that occur early in the POST
might happen before the video card is initialized. These types of errors can’t be displayed, so the system uses two other alternatives for communicating the error message. One is beeping—the system
beeps the speaker in a specific pattern that indicates which error has occurred.
◊◊
For detailed lists of the BIOS POST beep codes, see Chapter 20, “PC Diagnostics, Testing, and Maintenance,”
p. 961.
The alternative is to send a hexadecimal error code to I/O port address 80h, which can be read by a
special card in one of the bus slots. When the ROM BIOS is performing the POST, in most systems the
results of these tests are continuously sent to I/O port 80h so special diagnostics cards called POST
BIOS/MBR Error Messages
Chapter 5
309
cards can monitor them (see Figure 5.10). These tests sometimes are called manufacturing tests because
they were designed into the system for testing it on the assembly line without a video display
attached.
Figure 5.10
A two-digit hexadecimal code display (left) and a POST card in operation (right).
The POST cards have a two-digit hexadecimal display used to report the number of the currently executing test routine. Before each test is executed, a hexadecimal numeric code is sent to the port, and
then the test is run. If the test fails and locks up the machine, the hexadecimal code of the last test
being executed remains on the card’s display.
Many tests are executed in a system before the video display card is enabled, especially if the display
is EGA or VGA. Therefore, many errors can occur that would lock up the system before the system
could possibly display an error code through the video system. Because not all these errors generate
beep codes, to most normal troubleshooting procedures, a system with this type of problem (such as a
memory failure in Bank 0) would appear completely “dead.” By using one of the commercially available POST cards, however, you can often diagnose the problem.
These codes are completely BIOS dependent because the card does nothing but display the codes sent
to it. Some BIOSs have more detailed POST procedures and therefore send more informative codes.
POST cards can be purchased from JDR Microdevices or other sources and are available in both ISA
and PCI bus versions.
For simple but otherwise fatal errors that can’t be displayed onscreen, most of the BIOS versions also
send audio codes that can be used to diagnose such problems. The audio codes are similar to POST
codes, but they are “read” by listening to the speaker beep rather than by using a special card.
◊◊
The following section details the text error codes for all the popular BIOS versions. For detailed lists of the BIOS
POST beep codes, see Figure 20.1, Chapter 20, p. 963.
BIOS Boot Error Messages
During the boot process, the bootstrap loader routine in the motherboard ROM BIOS reads the first
physical sector of each of the bootable drives or devices, which is cylinder 0, head 0, sector 1 in CHS
mode or logical block address 0 in LBA mode. The code from the first sector is loaded into RAM, and
the last two bytes are checked to see whether they match a signature value of 55AAh. If the signature
bytes match, that tells the ROM that the first sector contains a valid MBR and that the ROM can continue by transferring control to the MBR code.
If the last 2 bytes of the first physical sector do not match 55AAh, the ROM continues by checking
the first physical sector of the next bootable device in the boot sequence until it either finds one with
a valid MBR or runs out of devices to check. If, after all the drives or devices in the boot sequence are
310
Chapter 5
BIOS
checked, none are found to have the proper signature bytes indicating a valid MBR, the ROM invokes
an interrupt (18h) that calls a subroutine displaying an error message. The specific text or wording of
the message varies according to the ROM manufacturer and version. The messages are detailed in the
following sections.
IBM BIOS Messages
With no valid MBR or bootable device found, systems with an old IBM BIOS display the infamous
ROM BASIC interpreter, which looks like this:
The IBM Personal Computer Basic
Version C1.10 Copyright IBM Corp 1981
62940 Bytes free
Ok
IBM ROM BASIC
The ROMs of most PCs are similar to the original IBM systems with which they are compatible—with the exception of the
ROM BASIC interpreter (also called Cassette BASIC). It might come as a surprise to some PC users, but the original IBM
PC actually had a jack on the rear of the system for connecting a cassette tape recorder. This was to be used for loading
programs and data to or from a cassette tape. IBM included the cassette port because cassette tapes were used by several early personal computers (including the Apple). Floppy drives were expensive, and hard disks were not even an
option yet. However, floppy drives came down in price quickly right at the time the PC was first released, and the cassette
port never appeared on subsequent IBM systems. The cassette port also never appeared on PC-compatible systems
because floppy drives were cheap by the time they came out.
The reason for having BASIC in ROM was so the original PC could come standard with only 16KB of memory and no
floppy drives in the base configuration. Many computer users at the time either wrote their own programs in the BASIC
language or ran BASIC programs written by others. The BASIC language interpreter built into the ROM BIOS of these
early IBM systems was designed to access the cassette port on the back of the system; by having the interpreter in ROM,
all 16 kilobytes of RAM could be used to store a program.
Even after the cassette port was eliminated, IBM left the BASIC code in the motherboard ROM until the early 1990s! I
liken this to humans having an appendix. The ROM BASIC in those IBM systems is sort of like a vestigial organ—a leftover that had some use in prehistoric evolutionary ancestors but has no function today.
You can catch a glimpse of this ROM BASIC on older IBM systems that have it by disabling all the disk drives in the system. In that case, with nothing to boot from, those systems unceremoniously dump you into the strange (vintage 1981)
ROM BASIC screen.
People used to dread seeing this because it usually meant that the floppy disk or hard disk they were trying to boot from
had become corrupted or had failed. Because no compatible systems ever had the BASIC interpreter in ROM, they came
up with different messages to display for the same situations in which an IBM system would invoke this BASIC. The most
confusing of these was the message from AMI BIOS, which simply said NO ROM BASIC - SYSTEM HALTED, which
really meant that the system was incapable of booting.
With no valid MBR or bootable device found, some IBM systems display a screen using text graphic
characters that look similar to Figure 5.11.
The meaning here is, “Insert a bootable floppy disk into the A: drive and press the F1 key.”
BIOS/MBR Error Messages
Chapter 5
311
0
F1
Figure 5.11
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
IBM ROM BIOS display indicating an invalid master boot record.
AMI BIOS Messages
With no valid MBR or bootable device found, systems with an AMI BIOS display the following
message:
NO ROM BASIC - SYSTEM HALTED
This message is confusing to some because it seems to point to a problem with ROM BASIC, which of
course is not what it really means! The AMI ROM does not include a BASIC interpreter in the ROM
(neither does any other ROMs except those found in very old IBM machines), so instead of jumping
into BASIC or displaying a useful message indicating there are no bootable devices, it displays this
confusing message. The real meaning is the same as for all these messages, which is to say that none
of the bootable devices in the boot sequence were found to contain signature bytes indicating a valid
MBR in their first physical sectors.
Compaq BIOS Messages
With no valid MBR or bootable device found, systems with a Compaq BIOS display the following
message:
Non-System disk or disk error
replace and strike any key when ready
This is another confusing message because this same (or similar) error message is contained in the
DOS/Windows 9X/Me VBR and normally is displayed if the system files are missing or corrupted. So,
if you see this message on a Compaq system, you can’t be sure whether the problem is in the MBR,
VBR, or the system files, which makes tracking down and solving the problem more difficult.
Award BIOS Messages
With no valid MBR or bootable device found, systems with an Award BIOS display the following
message:
DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER
So far, this appears to be the least confusing of these messages. You don’t need a secret decoder ring to
figure out what it is really trying to say.
312
Chapter 5
BIOS
Phoenix BIOS Messages
With no valid MBR or bootable device found, systems with a Phoenix BIOS display either the message
No boot device available strike F1 to retry boot, F2 for setup utility
or this one:
No boot sector on fixed disk strike F1 to retry boot, F2 for setup utility
Which of these two messages you see depends on whether no boot devices were found or readable, or
a boot sector could be read but was found not to have the proper signature bytes.
MBR Boot Error Messages
If the BIOS has successfully loaded the MBR and checked the signature, and if the signature bytes are
correct, the BIOS then passes control to the MBR by running the MBR code. The program code in the
MBR performs a test of the partition table (also contained in the MBR) by checking the Boot Indicator
bytes in each of the four partition table entries. These bytes are at offsets 446 (1BEh), 462 (1CEh), 478
(1DEh), and 494 (1EEh) in the MBR. These bytes indicate which of the four possible primary partition
table entries contains an active (bootable) partition. A value of 80h at any of these byte locations indicates that particular table entry contains the active partition. Only one of the four Boot Indicator
bytes at a time is allowed to indicate an active partition (containing a value of 80h), meaning that if
one of them is 80h, the other three must all contain 00h. Going by the rules initially set forth by IBM
and Microsoft, only two possible conditions are allowed with respect to all four Boot Indicator bytes:
■ All four Boot Indicator bytes are 00h, indicating no Active (bootable) partitions.
■ One Boot Indicator byte is 80h and the other three are 00h, indicating one Active (bootable)
partition.
If all four Boot Indicator bytes are 00h—which indicates that no active (bootable) partitions exist—
then the MBR returns control to the motherboard ROM, which will then normally display one of the
error messages listed earlier. This would be an expected result if you were to remove the existing partitions from a drive but had not created new partitions on the drive, or if you had failed to make one
of the partitions Active (bootable) when partitioning or repartitioning the drive. For example, when
creating multiple partitions on a drive, it is possible to forget to set one of them as Active. If you do
this by accident and render your hard drive nonbootable, you can easily correct the problem by booting from a floppy or CD with partitioning software such as FDISK or DISKPART and setting the partition where your OS is installed as Active.
If only one of the Boot Indicator bytes is 80h and the rest are 00h (required for a properly booting
system), the system continues the standard boot process by loading the volume boot record (VBR)
from the active partition.
Invalid Partition Table
Any other Boot Indicator byte conditions are not allowed and, if present, indicate that the partition
table is corrupt, causing the MBR code to generate an error message and stop. For example, if two or
more of the Boot Indicator bytes are 80h (indicating multiple Active partitions, which is not allowed)
or if any one of the Boot Indicator bytes is any value other than 00h or 80h, the partition table is considered corrupt; the MBR code displays the following error message and halts the system:
Invalid partition table
BIOS/MBR Error Messages
Chapter 5
313
If you see this message, you can try rebooting from alternate media or a different drive and then see if
you can access the data on the problem drive. Depending on how much of the partition table, MBR,
or other sectors on the drive are corrupted, it may be easiest to simply start over by removing and recreating all the partitions (which will lose any and all data they contain), or investigate data recovery
options if you don’t have backups and need the data back.
Error Loading Operating System
Once the MBR code makes it past the Boot Indicator byte check, and one of the partitions is marked
active (bootable), the MBR code continues by looking at the rest of the information in the active partition table entry to determine the starting sector location for the active partition. The starting sector
location is a sector address indicated by both CHS (cylinder/head/sector) and LBA (logical block
address) values. The CHS value is used for drives 8.4GB or smaller in capacity, whereas the LBA value
is used for drives larger than 8.4GB (pretty much all drives today). The first sector of a partition contains the volume boot record (VBR), which is also known as the operating system boot record because it
is installed on the drive during the OS partition format process. Once the VBR address of the active
partition has been determined, the MBR code reads that sector from the drive.
If the VBR of the active partition can’t be read successfully due to a read error (physical problem with
the disk), a series of five retries occurs. If after all the retries the VBR still cannot be read, the following message is displayed and the system stops:
Error loading operating system
This is a bad message to see because it generally indicates physical problems with the drive. However,
this message can also appear if the drive parameters are incorrectly entered in the BIOS Setup, or if
the VBR sector location as listed in the MBR partition table is invalid. For example, if the MBR contains an invalid VBR address that points to a sector beyond the physical end of the drive, this message
results.
If you see this message unexpectedly, first check the BIOS Setup settings for the drive to be sure they
are correct, then check the partition table entries, and finally run a diagnostic test of the drive itself. If
the drive is bad or going bad and you need the data back, you may require the services of a professional data-recovery outfit.
Missing Operating System
If the MBR code has successfully loaded the VBR with no read errors, the MBR code checks the last
two bytes of the VBR for the 55AAh signature. If the signature is not present, the MBR displays the
following error message and halts the system:
Missing operating system
This would be an expected occurrence if, for example, you had just created the partition and had not
yet done a high-level format, meaning that the partition has not yet been formatted by the OS, or no
OS is yet installed.
This page intentionally left blank
Chapter
6
Memory
Memory Basics
This chapter discusses memory from both a physical and a logical point of view. First, we’ll examine
what memory is, where it fits into the PC architecture, and how it works. Then we’ll look at the
various types of memory, speeds, and packaging of the chips and memory modules you can buy
and install.
This chapter also covers the logical layout of memory, defining the various areas of memory and
their uses from the system’s point of view. Because the logical layout and uses are within the
“mind” of the processor, memory mapping and logical layout remain perhaps the most difficult
subjects to grasp in the PC universe. This chapter contains useful information that removes the
mysteries associated with memory and enables you to get the most out of your system.
Memory is the workspace for the processor. It is a temporary storage area where the programs and
data being operated on by the processor must reside. Memory storage is considered temporary
because the data and programs remain there only as long as the computer has electrical power or is
not reset. Before the computer is shut down or reset, any data that has been changed in memory
should be saved to a more permanent storage device (usually a hard disk) so it can be reloaded into
memory in the future.
Memory often is called RAM, for random access memory. Main memory is called RAM because you
can randomly (as opposed to sequentially) access any location. This designation is somewhat misleading and often misinterpreted. Read-only memory (ROM), for example, is also randomly accessible, yet it is usually differentiated from the system RAM because it maintains data without power
and can’t normally be written to. Although a hard disk can be used as virtual random access memory, we don’t consider that RAM either.
Over the years, the definition of RAM has changed from a simple acronym to become something
that means the primary memory workspace the processor uses to run programs, which usually is
constructed out of a type of chip called dynamic RAM (DRAM). One of the characteristics of DRAM
chips (and therefore most types of RAM in general) is that they store data dynamically, which really
has two meanings. One meaning is that the information can be written to RAM repeatedly at any
316
Chapter 6
Memory
time. The other has to do with the fact that DRAM requires the data to be refreshed (essentially
rewritten) every few milliseconds or so; faster RAM requires refreshing more often than slower RAM. A
type of RAM called static RAM (SRAM) does not require the periodic refreshing. An important characteristic of RAM in general is that data is stored only as long as the memory has electrical power.
Note
Both DRAM and SRAM memory maintain their contents only as long as power is present. However, a different type of
memory known as flash memory can retain its contents without power, and it is most commonly used today in solid-state
drives (SSDs), digital camera and player media, and USB flash drives. As far as the PC is concerned, a flash memory
device emulates a disk drive (not RAM) and is accessed by a drive letter, just as with any other disk or optical drive.
When we talk about a computer’s memory, we usually mean the RAM or physical memory in the system, which is mainly the memory chips or modules the processor uses to store primary active programs
and data. This often is confused with the term storage, which should be used when referring to things
such as disk and tape drives (although they can be used as a form of RAM called virtual memory).
RAM can refer to both the physical chips that make up the memory in the system and the logical
mapping and layout of that memory. Logical mapping and layout refer to how the memory addresses
are mapped to actual chips and what address locations contain which types of system information.
People new to computers often confuse main memory (RAM) with disk storage because both have
capacities that are expressed in similar megabyte or gigabyte terms. The best analogy I’ve found to
explain the relationship between memory and disk storage is to think of an office with a desk and a
file cabinet.
In this popular analogy, the file cabinet represents the system’s hard disk, where both programs and
data are stored for long-term safekeeping. The desk represents the system’s main memory, which
allows the person working at the desk (acting as the processor) direct access to any files placed on it.
Files represent the programs and documents you can “load” into the memory. To work on a particular
file, you first must retrieve it from the cabinet and place it on the desk. If the desk is large enough,
you might be able to have several files open on it at one time; likewise, if your system has more memory, you can run more or larger programs and work on more or larger documents.
Adding hard disk space to a system is similar to putting a bigger file cabinet in the office—more files
can be permanently stored. And adding more memory to a system is like getting a bigger desk—you
can work on more programs and data at the same time.
One difference between this analogy and the way things really work in a computer is that when a file
is loaded into memory, it is a copy of the file that is actually loaded; the original still resides on the
hard disk. Because of the temporary nature of memory, any files that have been changed after being
loaded into memory must then be saved back to the hard disk before the system is powered off
(which erases the memory). If the changed file in memory is not saved, the original copy of the file
on the hard disk remains unaltered. This is like saying that any changes made to files left on the desktop are discarded when the office is closed, although the original files are still preserved in the
cabinet.
Memory temporarily stores programs when they are running, along with the data being used by those
programs. RAM chips are sometimes termed volatile storage because when you turn off your computer
or an electrical outage occurs, whatever is stored in RAM is lost unless you saved it to your hard drive.
Because of the volatile nature of RAM, many computer users make it a habit to save their work frequently—a habit I recommend. Many software applications perform periodic saves automatically to
minimize the potential for data loss.
Memory Basics
Chapter 6
317
Physically, the main memory in a system is a collection of chips or modules containing chips that are
usually plugged into the motherboard. These chips or modules vary in their electrical and physical
designs and must be compatible with the system into which they are being installed to function properly. This chapter discusses the various types of chips and modules that can be installed in different
systems.
To better understand physical memory in a system, you should understand what types of memory are
found in a typical PC and what the role of each type is. Three main types of physical memory are
used in modern PCs. (Remember, I’m talking about the type of memory chip, not the type of module
that memory is stored on.)
■ ROM—Read-only memory
■ DRAM—Dynamic random access memory
■ SRAM—Static RAM
The only type of memory you normally need to purchase and install in a system is DRAM. The other
types are built in to the motherboard (ROM), processor (SRAM), and other components such as the
video card, hard drives, and so on.
ROM
Read-only memory, or ROM, is a type of memory that can permanently or semipermanently store
data. It is called read-only because it is either impossible or difficult to write to. ROM also is often
referred to as nonvolatile memory because any data stored in ROM remains there, even if the power is
turned off. As such, ROM is an ideal place to put the PC’s startup instructions—that is, the software
that boots the system.
Note that ROM and RAM are not opposites, as some people seem to believe. Both are simply types of
memory. In fact, ROM technically could be classified as a subset of the system’s RAM. In other words,
a portion of the system’s random access memory address space is mapped into one or more ROM
chips. This is necessary to contain the software that enables the PC to boot; otherwise, the processor
would have no program in memory to execute when it was powered on.
The main ROM BIOS is contained in a ROM chip on the motherboard, but there are also adapter
cards with ROMs on them. ROMs on adapter cards contain auxiliary BIOS routines and drivers needed
by the particular card, especially for those cards that must be active early in the boot process, such as
video cards. Cards that don’t need drivers active at boot time typically don’t have a ROM because
those drivers can be loaded from the hard disk later in the boot process.
Most systems today use a type of ROM called electrically erasable programmable ROM (EEPROM), which
is a form of flash memory. Flash is a truly nonvolatile memory that is rewritable, enabling users to
easily update the ROM or firmware in their motherboards or any other components (video cards, SCSI
cards, peripherals, and so on).
√√
For more information on BIOS upgrades, see “Upgrading the BIOS,” p. 265 (Chapter 5, “BIOS”).
DRAM
Dynamic RAM (DRAM) is the type of memory chip used for most of the main memory in a modern
PC. The main advantages of DRAM are that it is very dense, meaning you can pack a lot of bits into a
small chip, and it is inexpensive, which makes purchasing large amounts of memory affordable.
The memory cells in a DRAM chip are tiny capacitors that retain a charge to indicate a bit. The problem with DRAM is that it is dynamic—that is, its contents can be changed. With every keystroke or
every mouse swipe, the contents of RAM change. And the entire contents of RAM can be wiped out
318
Chapter 6
Memory
by a system crash. Also, because of the design, it must be constantly refreshed; otherwise, the electrical charges in the individual memory capacitors drain and the data is lost. Refresh occurs when the
system memory controller takes a tiny break and accesses all the rows of data in the memory chips.
The standard refresh time is 15ms (milliseconds), which means that every 15ms, all the rows in the
memory are automatically read to refresh the data.
√√
See “Chipsets,” p. 169 (Chapter 4, “Motherboards and Buses”).
Unfortunately, refreshing the memory takes processor time away from other tasks because each
refresh cycle takes several CPU cycles to complete. In older systems, the refresh cycling could take up
to 10% or more of the total CPU time, but with modern systems running in the multigigahertz range,
refresh overhead is now on the order of a fraction of a percent or less of the total CPU time. Some systems allow you to alter the refresh timing parameters via the CMOS Setup. The time between refresh
cycles is known as tREF and is expressed not in milliseconds, but in clock cycles (see Figure 6.1).
Current tREF (refresh period) for this motherboard.
Figure 6.1 The refresh period dialog box and other advanced memory timings can be adjusted manually
through the BIOS Setup program.
It’s important to be aware that increasing the time between refresh cycles (tREF) to speed up your system can allow some of the memory cells to begin draining prematurely, which can cause random soft
memory errors to appear.
A soft error is a data error that is not caused by a defective chip. To avoid soft errors, it is usually safer
to stick with the recommended or default refresh timing. Because refresh consumes less than 1% of
modern system overall bandwidth, altering the refresh rate has little effect on performance. It is
almost always best to use default or automatic settings for any memory timings in the BIOS Setup.
Many modern systems don’t allow changes to memory timings and are permanently set to automatic
settings. On an automatic setting, the motherboard reads the timing parameters out of the serial presence detect (SPD) ROM found on the memory module and sets the cycling speeds to match.
Memory Basics
Chapter 6
319
DRAMs use only one transistor and capacitor pair per bit, which makes them dense, offering more
memory capacity per chip than other types of memory. Currently, DRAM chips are being prepared for
production with densities up to 4Gb (512MB) per chip, which at one transistor per bit requires at least
4 billion transistors. The transistor count in memory chips is much higher than in processors because
in a memory chip the transistors and capacitors are all consistently arranged in a (normally square)
grid of simple repetitive structures, unlike processors, which are much more complex circuits of different structures and elements interconnected in a highly irregular fashion.
The transistor for each DRAM bit cell reads the charge state of the adjacent capacitor. If the capacitor
is charged, the cell is read to contain a 1; no charge indicates a 0. The charge in the tiny capacitors is
constantly draining, which is why the memory must be refreshed constantly. Even a momentary
power interruption, or anything that interferes with the refresh cycles, can cause a DRAM memory
cell to lose the charge and thus the data. If this happens in a running system, it can lead to blue
screens, global protection faults, corrupted files, and any number of system crashes.
DRAM is used in PC systems because it is inexpensive and the chips can be densely packed, so a lot of
memory capacity can fit in a small space. Unfortunately, DRAM is also relatively slow—typically
much slower than the processor. For this reason, many types of DRAM architectures have been developed to improve performance. These architectures are covered later in the chapter.
Cache Memory: SRAM
Another distinctly different type of memory exists that is significantly faster than most types of
DRAM. SRAM stands for static RAM, which is so named because it does not need the periodic refresh
rates like DRAM. Because of the way SRAMs are designed, not only are refresh rates unnecessary, but
SRAM is much faster than DRAM and much more capable of keeping pace with modern processors.
SRAM memory is available in access times of 0.45ns or less, so it can keep pace with processors running 2.2GHz or faster. This is because of the SRAM design, which calls for a cluster of six transistors
for each bit of storage. The use of transistors but no capacitors means that refresh rates are not necessary because there are no capacitors to lose their charges over time. As long as there is power, SRAM
remembers what is stored. With these attributes, why don’t we use SRAM for all system memory? The
answers are simple.
Compared to DRAM, SRAM is much faster but also much lower in density and much more expensive
(see Table 6.1). The lower density means that SRAM chips are physically larger and store fewer bits
overall. The high number of transistors and the clustered design mean that SRAM chips are both
physically larger and much more expensive to produce than DRAM chips. For example, a high-density
DRAM chip might store up to 4Gb (512MB) of RAM, whereas similar-sized SRAM chips can only store
up to 72Mb (9MB). The high cost and physical constraints have prevented SRAM from being used as
the main memory for PC systems.
Table 6.1
Comparing DRAM and SRAM
Type
Speed
Density
Cost
DRAM
Slow
High
Low
SRAM
Fast
Low
High
Even though SRAM is impractical for PC use as main memory, PC designers have found a way to use
SRAM to dramatically improve PC performance. Rather than spend the money for all RAM to be
SRAM memory, they design in a small amount of high-speed SRAM memory, used as cache memory,
which is much more cost effective. The SRAM cache runs at speeds close to or even equal to the
320
Chapter 6
Memory
processor and is the memory from which the processor usually directly reads from and writes to.
During read operations, the data in the high-speed cache memory is resupplied from the lower-speed
main memory or DRAM in advance. To convert access time in nanoseconds to MHz, use the following
formula:
1 / nanoseconds × 1000 = MHz
Likewise, to convert from MHz to nanoseconds, use the following inverse formula:
1 / MHz × 1000 = nanoseconds
Today we have memory that runs faster than 1GHz (1 nanosecond), but up until the late 1990s,
DRAM was limited to about 60ns (16MHz) in speed. Up until processors were running at speeds of
16MHz, the available DRAM could fully keep pace with the processor and motherboard, meaning that
there was no need for cache. However, as soon as processors crossed the 16MHz barrier, the available
DRAM could no longer keep pace, and SRAM cache began to enter PC system designs. This occurred
way back in 1986 and 1987 with the debut of systems with the 386 processor running at speeds of
16MHz to 20MHz or faster. These were among the first PC systems to employ what’s called cache memory, a high-speed buffer made up of SRAM that directly feeds the processor. Because the cache can run
at the speed of the processor, it acts as a buffer between the processor and the slower DRAM in the
system. The cache controller anticipates the processor’s memory needs and preloads the high-speed
cache memory with data. Then, as the processor calls for a memory address, the data can be retrieved
from the high-speed cache rather than the much lower-speed main memory.
Cache effectiveness can be expressed by a hit ratio. This is the ratio of cache hits to total memory
accesses. A hit occurs when the data the processor needs has been preloaded into the cache from the
main memory, meaning the processor can read it from the cache. A cache miss is when the cache controller did not anticipate the need for a specific address and the desired data was not preloaded into
the cache. In that case the processor must retrieve the data from the slower main memory, instead of
the faster cache. Any time the processor reads data from main memory, the processor must wait
longer because the main memory cycles at a much slower rate than the processor. As an example, if
the processor with integral on-die cache is running at 3.6GHz (3,600MHz) on a 1,333MHz bus, both
the processor and the integral cache would be cycling at 0.28ns, whereas the main memory would
most likely be cycling almost five times more slowly at 1,333MHz (0.75ns). So, every time the 3.6GHz
processor reads from main memory, it would effectively slow down to only 1,333MHz. The slowdown
is accomplished by having the processor execute what are called wait states, which are cycles in which
nothing is done; the processor essentially cools its heels while waiting for the slower main memory to
return the desired data. Obviously, you don’t want your processors slowing down, so cache function
and design become more important as system speeds increase.
To minimize the processor being forced to read data from the slow main memory, two or three stages
of cache usually exist in a modern system, called Level 1 (L1), Level 2 (L2), and Level 3 (L3). The L1
cache is also called integral or internal cache because it has always been built directly into the processor
as part of the processor die (the raw chip). Because of this, L1 cache always runs at the full speed of
the processor core and is the fastest cache in any system. All 486 and higher processors incorporate
integral L1 cache, making them significantly faster than their predecessors. L2 cache was originally
called external cache because it was external to the processor chip when it first appeared. Originally,
this meant it was installed on the motherboard, as was the case with all 386, 486, and first-generation
Pentium systems. In those systems, the L2 cache runs at motherboard and CPU bus speed because it is
installed on the motherboard and is connected to the CPU bus. You typically find the L2 cache physically adjacent to the processor socket in Pentium and earlier systems.
√√
See “Cache Memory,” p. 54 (Chapter 3, “Processor Types and Specifications”).
Memory Standards
Chapter 6
321
In the interest of improved performance, later processor designs from Intel and AMD included the L2
cache as part of the processor. In all processors since late 1999 (and some earlier models), the L2 cache
is directly incorporated as part of the processor die, just like the L1 cache. In chips with on-die L2, the
cache runs at the full core speed of the processor and is much more efficient. By contrast, most
processors from 1999 and earlier with integrated L2 had the L2 cache in separate chips that were
external to the main processor core. The L2 cache in many of these older processors ran at only half
or one-third the processor core speed. Cache speed is important, so systems having L2 cache on the
motherboard were the slowest. Including L2 inside the processor made it faster, and including it
directly on the processor die (rather than as chips external to the die) is the fastest yet. Any chip that
has on-die full core speed L2 cache has a distinct performance advantage over any chip that doesn’t.
A third-level or L3 cache has been present in some processors since 2001. The first desktop PC processor with L3 cache was the Pentium 4 Extreme Edition, a high-end chip introduced in late 2003 with
2MB of on-die L3 cache. Although it seemed at the time that this would be a forerunner of widespread L3 cache in desktop processors, later versions of the Pentium 4 Extreme Edition (as well as its
successor, the Pentium Extreme Edition) dropped the L3 cache, instead using larger L2 cache sizes to
improve performance. L3 cache made a return to PC processors in 2007 with the AMD Phenom and
in 2008 with the Intel Core i7, both of which have four cores on a single die. L3 is especially suited to
processors with multiple cores because it provides an on-die cache that all the cores can share. Since
2009, L3 cache has become a staple in most processors with two or more cores.
The key to understanding both cache and main memory is to see where they fit in the overall system
architecture. See Chapter 4 for diagrams showing recent systems with different types of cache memory.
Memory Standards
For memory to be as inexpensive and interchangeable as possible, industry-standard specifications for
both chips and modules have been developed. The Joint Electron Device Engineering Council (JEDEC)
Solid State Technology Association creates most industry-standard memory chip and module designs.
JEDEC
JEDEC is the semiconductor engineering standardization body of the Electronic Industries Alliance (EIA), a trade association that represents all areas of the electronics industry. JEDEC, which was created in 1960, governs the standardization
of all types of semiconductor devices, integrated circuits, and modules. JEDEC has about 300 member companies, including memory, chipset, and processor manufacturers and practically any company involved in manufacturing computer
equipment using industry-standard components.
The idea behind JEDEC is simple: If one company were to create a proprietary memory technology, for example, then
other companies that wanted to manufacture components compliant with that memory would have to pay license fees,
assuming the company that owned it was interested in licensing at all! Parts would be more proprietary in nature, causing
problems with interchangeability or sourcing reasonably priced replacements. In addition, those companies licensing the
technology would have no control over future changes the owner company made.
JEDEC helps to prevent that type of scenario for items such as memory by getting all the memory manufacturers to work
together creating shared industry standards covering memory chips and modules. JEDEC-approved standards for memory
could then be freely shared by all the member companies, and no one single company would have control over a given
standard or any of the companies producing compliant components. FPM, SDRAM, DDR, DDR2, and DDR3 SDRAM are
examples of JEDEC memory standards used in PCs, whereas EDO and RDRAM are proprietary examples. You can find
out more about JEDEC standards for memory and other semiconductor technology at www.jedec.org.
322
Chapter 6
Memory
Because of variations on speeds (timing), voltage, and other issues, purchasing memory matching the
correct industry-standard type doesn’t guarantee that it will work in a given system. Always be sure
the memory you purchase works with your system or that you can get a refund or replacement if it
doesn’t. Even though industry standards do exist, allowing modules from many sources to fit a given
system, I normally recommend that you look for memory modules that the system or memory manufacturer has approved for the system. Often you can find a list of approved modules or suppliers in
the system documentation or on the system or memory module manufacturer’s website.
Speed and Performance
The speed and performance issues with memory are confusing to some people because of all the different ways to express the speeds of memory and processors. Memory speed was originally expressed
in nanoseconds (ns), whereas the speeds of newer forms of memory are usually expressed in megahertz (MHz) and megabytes per second (MBps) instead. Processor speed was originally expressed in
megahertz (MHz), whereas most current processor speeds are expressed in gigahertz (GHz). Although
all these different speed units might seem confusing, it is relatively simple to translate from one to
the other.
A nanosecond is defined as one billionth of a second—a short piece of time indeed. To put some perspective on just how small a nanosecond really is, consider that the speed of light is 186,282 miles (299,792
kilometers) per second in a vacuum. In one billionth of a second (one nanosecond), a beam of light
travels a mere 11.80 inches or 29.98 centimeters—slightly less than the length of a typical ruler!
Memory speeds have often been expressed in terms of their cycle times (or how long it takes for one
cycle), whereas processor speeds have almost always been expressed in terms of their cycle speeds
(number of cycles per second). Cycle time and cycle speed are actually just different ways of saying
the same thing; that is, you can quote chip speeds in cycles per second, or seconds per cycle, and
mean the same thing.
As an analogy, you could express the speed of a vehicle using the same relative terms. In the United
States vehicle speeds are normally expressed in miles per hour. If you were driving a car at 60 miles
per hour (mph), it would take 1 minute per mile (mpm). At a faster speed of 120 mph, it would take
only 0.5 mpm, and at a slower 30 mph speed it would take 2.0 mpm. In other words, you could give
the speeds as either mph or mpm values, and they would mean exactly the same thing.
Because it is confusing to speak in these different terms for chip speeds, I thought it would be interesting to see exactly how they compare. Table 6.2 shows the relationship between commonly used
clock speeds (MHz) and the nanosecond (ns) cycle times they represent.
Table 6.2 The Relationship Between Megahertz (MHz) and Cycle Times in
Nanoseconds (ns)
Clock
Speed
Cycle
Time
Clock
Speed
Cycle
Time
Clock
Speed
Cycle
Time
Clock
Speed
Cycle
Time
4.77MHz
210ns
33MHz
30ns
120MHz
8.3ns
250MHz
4.0ns
6MHz
167ns
40MHz
25ns
133MHz
7.5ns
266MHz
3.8ns
8MHz
125ns
50MHz
20ns
150MHz
6.7ns
300MHz
3.3ns
10MHz
100ns
60MHz
17ns
166MHz
6.0ns
333MHz
3.0ns
12MHz
83ns
66MHz
15ns
180MHz
5.6ns
350MHz
2.9ns
16MHz
63ns
75MHz
13ns
200MHz
5.0ns
366MHz
2.7ns
20MHz
50ns
80MHz
13ns
225MHz
4.4ns
400MHz
2.5ns
25MHz
40ns
100MHz
10ns
233MHz
4.3ns
433MHz
2.3ns
Speed and Performance
Chapter 6
323
Table 6.2 The Relationship Between Megahertz (MHz) and Cycle Times in
Nanoseconds (ns)
Clock
Speed
Cycle
Time
Clock
Speed
Cycle
Time
Clock
Speed
Cycle
Time
Clock
Speed
Cycle
Time
450MHz
2.2ns
850MHz
1.18ns
1,900MHz
0.53ns
3,500MHz
0.286ns
466MHz
2.1ns
866MHz
1.15ns
2,000MHz
0.50ns
3,600MHz
0.278ns
500MHz
2.0ns
900MHz
1.11ns
2,100MHz
0.48ns
3,700MHz
0.270ns
533MHz
1.88ns
933MHz
1.07ns
2,200MHz
0.45ns
3,800MHz
0.263ns
550MHz
1.82ns
950MHz
1.05ns
2,300MHz
0.43ns
3,900MHz
0.256ns
566MHz
1.77ns
966MHz
1.04ns
2,400MHz
0.42ns
4,000MHz
0.250ns
600MHz
1.67ns
1,000MHz
1.00ns
2,500MHz
0.40ns
4,100MHz
0.244ns
633MHz
1.58ns
1,100MHz
0.91ns
2,600MHz
0.38ns
4,200MHz
0.238ns
650MHz
1.54ns
1,133MHz
0.88ns
2,700MHz
0.37ns
4,300MHz
0.233ns
666MHz
1.50ns
1,200MHz
0.83ns
2,800MHz
0.36ns
4,400MHz
0.227ns
700MHz
1.43ns
1,300MHz
0.77ns
2,900MHz
0.34ns
4,500MHz
0.222ns
733MHz
1.36ns
1,400MHz
0.71ns
3,000MHz
0.333ns
4,600MHz
0.217ns
750MHz
1.33ns
1,500MHz
0.67ns
3,100MHz
0.323ns
4,700MHz
0.213ns
766MHz
1.31ns
1,600MHz
0.63ns
3,200MHz
0.313ns
4,800MHz
0.208ns
800MHz
1.25ns
1,700MHz
0.59ns
3,300MHz
0.303ns
4,900MHz
0.204ns
833MHz
1.20ns
1,800MHz
0.56ns
3,400MHz
0.294ns
5,000MHz
0.200ns
As you can see from Table 6.2, as clock speed increases, cycle time decreases proportionately, and vice
versa.
Over the evolutionary life of the PC, main memory (what we call RAM) has had a difficult time keeping up with the processor, requiring several levels of high-speed cache memory to intercept processor
requests for the slower main memory. More recently, however, systems using DDR, DDR2, and DDR3
SDRAM have memory bus transfer rates (bandwidth) capable of equaling that of the external processor bus. When the speed of the memory bus equals the speed of the processor bus (or some even multiple thereof), main memory performance is closest to optimum for that system.
For example, using the information in Table 6.2, you can see that the 60ns DRAM memory used in
the original Pentium and Pentium II PCs up until 1998 works out to be an extremely slow 16.7MHz!
This slow 16.7MHz memory was installed in systems running processors up to 300MHz or faster with
external processor bus speeds of up to 66MHz, resulting in a large mismatch between processor bus
and main memory performance. To alleviate this performance gap, starting in 1998 the industry
shifted to faster SDRAM memory, which could match the 66MHz and 100MHz processor bus speeds
in use at that time. From that point forward, memory and especially memory bus performance has
largely evolved in step with the processor bus, coming out with newer and faster types to match any
increases in processor bus speeds.
By the year 2000, the dominant processor bus and memory speeds had increased to 100MHz and
even 133MHz, called PC100 and PC133 SDRAM, respectively. Starting in early 2001, double data rate
(DDR) SDRAM memory of 200MHz and 266MHz became popular. In 2002, DDR memory increased to
333MHz, and in 2003, the speeds increased further to 400MHz. In 2004, we saw the introduction of
DDR2, first at 400MHz and then at 533MHz. DDR2 memory continued to match processor bus speed
324
Chapter 6
Memory
increases in PCs from 2005 to 2006, rising to 667MHz and 800MHz during that time. By 2007, DDR2
memory was available at speeds of up to 1066MHz. By late 2007, DDR3 came on the market at speeds
of 1066MHz, with 1333MHz and 1600MHz appearing in 2008. In 2009, DDR3 memory became the
most popular memory type in new systems, and faster speed grades of 1866MHz and 2133MHz were
added. Table 6.3 lists the primary types and performance levels of PC memory.
Table 6.3
PC Memory Types and Performance Levels
Memory
Type
Years
Popular
Desktop
Module
Type
Laptop
Module
Type
Fast Page Mode
1987–1995
30/72-pin
72/144-pin
Max.
Clock
Voltage Speed
Max.
Max.
Max.
Throughput
Throughput
Throughput
Single-Channel Dual-Channel Triple-Channel
(FPM) DRAM
SIMM
SODIMM
5V
22MHz
177MBps
N/A
N/A
Extended Data
1995–1998
Out (EDO) DRAM
72-pin
SIMM
72/144-pin 5V
SODIMM
33MHz
266MBps
N/A
N/A
Single Data Rate
3.3V
133MHz
1,066MBps
N/A
N/A
3,200MBps
6,400MBps
N/A
168-pin
144-pin
(SDR) SDRAM
DIMM
SODIMM
Double Data Rate 2002–2005
(DDR) SDRAM
184-pin
DIMM
200-pin
SODIMM
2.5V
400MTps
240-pin
200-pin
1.8V
1,066MTps 8,533MBps
17,066MBps
N/A
1.5V
2,133MTps 17,066MBps
34,133MBps
51,200MBps
DDR2 SDRAM
1998–2002
2005–2008
DDR2 DIMM SODIMM
DDR3 SDRAM
2008+
240-pin
204-pin
DDR3 DIMM SODIMM
MHz = Million cycles per second
MTps = Million transfers per second
MBps = Million bytes per second
DIMM = Dual inline memory module
SODIMM = Small outline DIMM
SIMM = Single inline memory module
RIMM = Rambus inline memory module
Another specification to consider that is related to speed is the CAS (column address strobe) Latency,
which is often abbreviated as CL. This is also sometimes called read latency, and it’s the number of
clock cycles occurring between the registration of the CAS signal and the resultant output data, with
lower numbers of cycles indicating faster (better) performance. If possible, choose modules with a
lower CL figure because the motherboard chipset reads that specification out of the SPD (serial presence detect) ROM on the module and takes advantage of the lower latency through improved memory controller timings.
The following sections look at these memory types in more detail.
Fast Page Mode DRAM
Standard DRAM is accessed through a technique called paging. Normal memory access requires that a
row and column address be selected, which takes time. Paging enables faster access to all the data
within a given row of memory by keeping the row address the same and changing only the column.
Memory that uses this technique is called Page Mode or Fast Page Mode memory. Other variations on
Page Mode were called Static Column or Nibble Mode memory.
Speed and Performance
Chapter 6
325
Paged memory is a simple scheme for improving memory performance that divides memory into
pages ranging from 512 bytes to a few kilobytes long. The paging circuitry then enables memory locations in a page to be accessed with fewer wait states. If the desired memory location is outside the current page, one or more wait states are added while the system selects the new page.
To improve further on memory access speeds, systems have evolved to enable faster access to DRAM.
One important change was the implementation of burst mode access in the 486 and later processors.
Burst mode cycling takes advantage of the consecutive nature of most memory accesses. After setting up
the row and column addresses for a given access, using burst mode, you can then access the next three
adjacent addresses with no additional latency or wait states. A burst access usually is limited to four total
accesses. To describe this, we often refer to the timing in the number of cycles for each access. A typical
burst mode access of standard DRAM is expressed as x-y-y-y; x is the time for the first access (latency
plus cycle time), and y represents the number of cycles required for each consecutive access.
Standard 60ns-rated DRAM normally runs 5-3-3-3 burst mode timing. This means the first access takes
a total of five cycles (on a 66MHz system bus, this is about 75ns total, or 5 × 15ns cycles), and the
consecutive cycles take three cycles each (3 × 15ns = 45ns). As you can see, the actual system timing is
somewhat less than the memory is technically rated for. Without the bursting technique, memory
access would be 5-5-5-5 because the full latency is necessary for each memory transfer. The 45ns cycle
time during burst transfers equals about a 22.2MHz effective clock rate; on a system with a 64-bit (8byte) wide memory bus, this would result in a maximum throughput of 177MBps (22.2MHz × 8 bytes
= 177MBps).
DRAM memory that supports paging and this bursting technique is called Fast Page Mode (FPM) memory. This term refers to the ability to access data on the same memory page faster than data on other
memory pages.
Most 386, 486, and Pentium systems from 1987 through 1995 used FPM memory, which came in
either 30-pin or 72-pin SIMM form.
Another technique for speeding up FPM memory is called interleaving. In this design, two separate
banks of memory are used together, alternating access from one to the other as even and odd bytes.
While one is being accessed, the other is being precharged, when the row and column addresses are
being selected. Then, by the time the first bank in the pair is finished returning data, the second bank
in the pair is finished with the latency part of the cycle and is now ready to return data. While the
second bank is returning data, the first bank is being precharged, selecting the row and column
address of the next access. This overlapping of accesses in two banks reduces the effect of the latency
or precharge cycles and allows for faster overall data retrieval. The only problem is that to use interleaving, you must install identical pairs of banks together, doubling the number of modules required.
Extended Data Out RAM
In 1995, a newer type of DRAM called extended data out (EDO) RAM became available for Pentium
systems. EDO, a modified form of FPM memory, is sometimes referred to as Hyper Page mode. EDO
was invented and patented by Micron Technology, although Micron licensed production to many
other memory manufacturers.
EDO memory consists of specially manufactured chips that allow a timing overlap between successive
accesses. The name extended data out refers specifically to the fact that, unlike FPM, the data output
drivers on the chip are not turned off when the memory controller removes the column address to
begin the next cycle. This enables the next cycle to overlap the previous one, saving approximately
10ns per cycle.
326
Chapter 6
Memory
The effect of EDO is that cycle times are improved by enabling the memory controller to begin a new
column address instruction while it is reading data at the current address. This is almost identical to
what was achieved in older systems by interleaving banks of memory, but unlike interleaving, with
EDO you didn’t need to install two identical banks of memory in the system at a time.
EDO RAM allows for burst mode cycling of 5-2-2-2, compared to the 5-3-3-3 of standard fast page
mode memory. To do four memory transfers, then, EDO would require 11 total system cycles, compared to 14 total cycles for FPM. This is a 22% improvement in overall cycling time. The resulting
two-cycle (30ns) cycle time during burst transfers equals a 33.3MHz effective clock rate, compared to
45ns/22MHz for FPM. On a system with a 64-bit (8-byte) wide memory bus, this would result in a
maximum throughput of 266MBps (33.3MHz × 8 bytes = 266MBps). Due to the processor cache, EDO
typically increased overall system benchmark speed by only 5% or less. Even though the overall system improvement was small, the important thing about EDO was that it used the same basic DRAM
chip design as FPM, meaning that there was practically no additional cost over FPM. In fact, in its
heyday EDO cost less than FPM yet offered higher performance.
EDO RAM generally came in 72-pin SIMM form. Figure 6.4 (later in this chapter) shows the physical
characteristics of these SIMMs.
To actually use EDO memory, your motherboard chipset had to support it. Most motherboard chipsets
introduced on the market from 1995 (Intel 430FX) through 1997 (Intel 430TX) offered support for
EDO, making EDO the most popular form of memory in PCs from 1995 through 1998. Because EDO
memory chips cost the same to manufacture as standard chips, combined with Intel’s support of EDO
in motherboard chipsets, the PC market jumped on the EDO bandwagon full force.
√√
See “Fifth-Generation (P5 Pentium Class) Chipsets,” p. 179 and “Sixth-Generation (P6 Pentium Pro/II/III Class)
Chipsets,” p. 181 (Chapter 4).
EDO RAM was used in systems with CPU bus speeds of up to 66MHz, which fit perfectly with the PC
market up through 1998. However, starting in 1998, with the advent of 100MHz and faster system
bus speeds, the market for EDO rapidly declined, and faster SDRAM architecture became the standard.
One variation of EDO that never caught on was called burst EDO (BEDO). BEDO added burst capabilities for even speedier data transfers than standard EDO. Unfortunately, the technology was owned by
Micron and not a free industry standard, so only one chipset (Intel 440FX Natoma) ever supported it.
BEDO was quickly overshadowed by industry-standard SDRAM, which came into favor among PC system chipset and system designers over proprietary designs. As such, BEDO never really saw the light
of production, and to my knowledge no systems ever used it.
SDRAM
SDRAM is short for synchronous DRAM, a JEDEC standard for a type of DRAM that runs in synchronization with the memory bus. SDRAM delivers information in very high-speed bursts using a high-speed
clocked interface. SDRAM removes most of the latency involved in asynchronous DRAM because the
signals are already in synchronization with the motherboard clock.
As with any newly introduced type of memory on the market, motherboard chipset support is
required before it can be usable in systems. Starting in 1996 with the 430VX and 430TX, most of
Intel’s chipsets began to support industry-standard SDRAM, and in 1998 the introduction of the
440BX chipset caused SDRAM to eclipse EDO as the most popular type on the market.
SDRAM performance is dramatically improved over that of FPM or EDO RAM. However, because
SDRAM is still a type of DRAM, the initial latency is the same, but burst mode cycle times are much
faster than with FPM or EDO. SDRAM timing for a burst access would be 5-1-1-1, meaning that four
Speed and Performance
327
Chapter 6
memory reads would complete in only eight system bus cycles, compared to 11 cycles for EDO and 14
cycles for FPM. This makes SDRAM almost 20% faster than EDO.
Besides being capable of working in fewer cycles, SDRAM is capable of supporting up to 133MHz
(7.5ns) system bus cycling. Most PC systems sold from 1998 through 2002 included SDRAM memory.
SDRAM is sold in DIMM form and is normally rated by clock speed (MHz) rather than cycling time
(ns), which was confusing during the initial change from FPM and EDO DRAM. Figure 6.5 (later in
this chapter) shows the physical characteristics of DIMMs.
To meet the stringent timing demands of its chipsets, Intel created specifications for SDRAM called
PC66, PC100, and PC133. For example, you would think 10ns would be considered the proper rating
for 100MHz operation, but the PC100 specification promoted by Intel called for faster 8ns memory to
ensure all timing parameters could be met with sufficient margin for error.
In May 1999, JEDEC created a specification called PC133. It achieved this 33MHz speed increase by
taking the PC100 specification and tightening up the timing and capacitance parameters. The faster
PC133 quickly caught on for any systems running a 133MHz processor bus. The original chips used in
PC133 modules were rated for exactly 7.5ns or 133MHz; later ones were rated at 7.0ns, which is technically 143MHz. These faster chips were still used on PC133 modules, but they allowed for improvements in column address strobe latency (abbreviated as CAS or CL), which somewhat improves
overall memory cycling time.
SDRAM normally came in 168-pin DIMMs, running at several speeds. Table 6.4 shows the standard
single data rate SDRAM module speeds and resulting throughputs.
Table 6.4
Rates
JEDEC Standard SDRAM Module (168-Pin DIMM) Speeds and Transfer
Module
Type
Chip
Type
Clock
Speed
Cycles
per Clock
Bus
Speed
Bus
Width
Transfer
Rate
PC66
15ns
10ns
66MHz
1
66MTps
8 bytes
533MBps
PC100
8ns
100MHz
1
100MTps
8 bytes
800MBps
PC133
7.5ns
7ns
133MHz
1
133MTps
8 bytes
1,066MBps
MHz = Million cycles per second
MTps = Million transfers per second
MBps = Million bytes per second
ns = Nanoseconds (billionths of a second)
◊◊
See “Memory Modules,” p. 333 (this chapter).
Some module manufacturers sold modules they claimed were “PC150” or “PC166,” even though
those speeds did not exist as official JEDEC or Intel standards, and no chipsets or processors officially
supported those speeds. These modules actually used hand-picked 133MHz-rated chips that could run
overclocked at 150MHz or 166MHz speeds. In essence, PC150 or PC166 memory was PC133 memory
that was tested to run at overclocked speeds not supported by the original chip manufacturer. This
overclockable memory was sold at a premium to enthusiasts who wanted to overclock their motherboard chipsets, thereby increasing the speed of the processor and memory bus.
328
Chapter 6
Memory
Caution
In general, PC133 memory is considered to be backward compatible with PC100 memory. However, some chipsets or
motherboards had more specific requirements for specific types of 100MHz or 133MHz chips and module designs. If you
need to upgrade an older system that requires PC100 memory, you should not purchase PC133 memory unless the memory is specifically identified by the memory vendor as being compatible with the system. You can use the online memoryconfiguration tools provided by most major memory vendors to ensure that you get the right memory for your system.
Typically, you find SDRAM modules rated CL 2 or CL 3.
DDR SDRAM
DDR SDRAM memory is a JEDEC standard that is an evolutionary upgrade in which data transfers
twice as quickly as standard SDRAM. Instead of doubling the actual clock rate, DDR memory achieves
the doubling in performance by transferring twice per transfer cycle: once at the leading (falling) edge
and once at the trailing (rising) edge of the cycle (see Figure 6.2). This effectively doubles the transfer
rate, even though the same overall clock and timing signals are used. To eliminate confusion with
DDR, regular SDRAM is often called single data rate (SDR).
Figure 6.2
SDR versus DDR cycling.
DDR SDRAM first came to market in the year 2000 and was initially used on high-end graphics cards
because there were no motherboard chipsets to support it at the time. DDR finally became popular in
2002 with the advent of mainstream supporting motherboards and chipsets. From 2002 through
2005, DDR was the most popular type of memory in mainstream PCs. DDR SDRAM uses a DIMM
module design with 184 pins. Figure 6.6 (later in this chapter) shows the 184-pin DDR DIMM.
DDR DIMMs come in a variety of speed or throughput ratings and normally run on 2.5 volts. Table
6.5 compares the types of industry-standard DDR SDRAM modules. As you can see, the raw chips are
designated by their speed in megatransfers per second, whereas the modules are designated by their
approximate throughput in megabytes per second.
Speed and Performance
Table 6.5
Chapter 6
329
JEDEC Standard DDR Module (184-Pin DIMM) Speeds and Transfer Rates
Module
Type
Chip
Type
Base
Clock
Speed
Cycle
Time
Cycles
per
Clock
Bus
Speed
Bus
Width
Module
Transfer
Rate
Dual-Channel
Transfer Rate
PC1600
DDR200
100MHz
10.0ns
2
200MTps
8 bytes
1,600MBps
3,200MBps
PC2100
DDR266
133MHz
7.5ns
2
266MTps
8 bytes
2,133MBps
4,266MBps
PC2700
DDR333
166MHz
6.0ns
2
333MTps
8 bytes
2,667MBps
5,333MBps
PC3200
DDR400
200MHz
5.0ns
2
400MTps
8 bytes
3,200MBps
6,400MBps
DDR = Double data rate
MHz = Million cycles per second
MTps = Million transfers per second
MBps = Million bytes per second
ns = Nanoseconds (billionths of a second)
The major memory chip and module manufacturers normally produce parts that conform to the official JEDEC standard speed ratings. However, to support overclocking, several memory module manufacturers purchase unmarked and untested chips from the memory chip manufacturers and then
independently test and sort them by how fast they run. These are then packaged into modules with
unofficial designations and performance figures that exceed the standard ratings. Table 6.6 shows the
popular unofficial speed ratings I’ve seen on the market. Note that because the speeds of these modules are beyond the standard default motherboard and chipset speeds, you won’t see an advantage to
using them unless you are overclocking your system to match.
Table 6.6 Overclocked (Non-JEDEC) DDR Module (184-Pin DIMM) Speeds and
Transfer Rates
Module
Standard
Chip
Type
Clock
Speed
(MHz)
Cycles
per
Clock
Bus
Speed
(MTps)
Bus
Width
(Bytes)
Transfer
Rate
(MBps)
Dual-Channel
Transfer Rate
(MBps)
PC3500
DDR433
216
2
433
8
3,466
6,933
PC3700
DDR466
233
2
466
8
3,733
7,466
PC4000
DDR500
250
2
500
8
4,000
8,000
PC4200
DDR533
266
2
533
8
4,266
8,533
PC4400
DDR550
275
2
550
8
4,400
8,800
PC4800
DDR600
300
2
600
8
4,800
9,600
DDR = Double data rate
MHz = Million cycles per second
MTps = Million transfers per second
MBps = Million bytes per second
ns = Nanoseconds (billionths of a second)
Most chipsets that support DDR also support dual-channel operation—a technique in which two
matching DIMMs are installed to function as a single bank, with double the bandwidth of a single
module. For example, if a chipset supports standard PC3200 modules, the bandwidth for a single
module would be 3,200MBps. However, in dual-channel mode, the total bandwidth would double to
330
Chapter 6
Memory
6,400MBps. Dual-channel operation optimizes PC design by ensuring that the CPU bus and memory
bus both run at the same speeds (meaning throughput, not MHz) so that data can move synchronously between the buses without delays.
The cycle time in nanoseconds (billionths of a second) matches the base clock speed, but DDR modules transfer twice per cycle, so the bus speed frequency is always equal to double the clock frequency.
The throughput or bandwidth is simply the bus frequency times the width, which gives the rate at
which data can be read from or written to the module.
Typically, you can find DDR modules rated CL 2, 2.5, or 3.
With DDR, it is generally okay to install a module that is faster than the system requires, but you
should not install a slower module than the motherboard requires. For example, you can usually
install PC2700 memory even if the system requires only PC2100 or even PC1600, but if the system
requires PC2700, you should not install the slower PC2100 or PC1600 modules.
DDR2 SDRAM
DDR2 is a faster version of DDR memory. It achieves higher throughput by using differential pairs of
signal wires to allow faster signaling without noise and interference problems. DDR2 is still double
data rate just as with DDR, but the modified signaling method enables you to achieve higher clock
speeds with more immunity to noise and crosstalk between the signals. The additional signals
required for differential pairs add to the pin count—DDR2 DIMMs have 240 pins, which is more than
the 184 pins of DDR. The original DDR specification officially topped out at 400MHz (although faster
unofficial overclocked modules were produced), whereas DDR2 starts at 400MHz and goes up to an
official maximum of 1,066MHz.
JEDEC began working on the DDR2 specification in April 1998 and published the standard in
September 2003. DDR2 chip and module production actually began in mid-2003 (mainly samples and
prototypes), and the first chipsets, motherboards, and systems supporting DDR2 appeared for Intel
processor–based systems in mid-2004. At that time, variations of DDR2 such as G-DDR2 (Graphics
DDR2) began appearing in graphics cards as well. Mainstream motherboard chipset support for DDR2
on Intel processor–based systems appeared in 2005. Notable for its lack of DDR2 support through
2005 was AMD, whose Athlon 64 and Opteron processor families included integrated DDR memory
controllers. AMD processor–based systems first supported DDR2 in mid-2006, with the release of
socket AM2 motherboards and processors to match. (AMD’s Socket F, otherwise known as 1207 FX,
also supports DDR2 memory.)
It is interesting to note that AMD was almost two years behind Intel in the transition from DDR to
DDR2. This is because AMD included the memory controller in its Athlon 64 and all subsequent
processors, rather than incorporating the memory controller in the chipset North Bridge, as with the
more traditional Intel designs. Although there are advantages to integrating the memory controller in
the CPU, one disadvantage is the inability to quickly adopt new memory architectures because doing
so requires that both the processor and processor socket be redesigned. However, with the release of
the Core i-Series processors in 2008, Intel also moved the memory controller from the chipset into
the processor, thus putting Intel and AMD in the same situation in terms of memory architecture.
In addition to providing greater speeds and bandwidth, DDR2 has other advantages. It uses lower
voltage than conventional DDR (1.8V versus 2.5V), so power consumption and heat generation are
reduced. Because of the greater number of pins required on DDR2 chips, the chips typically use finepitch ball grid array (FBGA) packaging rather than the thin small outline package (TSOP) chip packaging used by most DDR and conventional SDRAM chips. FPGA chips connect to the substrate
(meaning the memory module in most cases) via tightly spaced solder balls on the base of the chip.
Table 6.7 shows the various official JEDEC-approved DDR2 module types and bandwidth specifications.
Speed and Performance
Table 6.7
Chapter 6
331
JEDEC Standard DDR2 Module (240-Pin DIMM) Speeds and Transfer Rates
Module
Type
Chip
Type
Base
Clock
Speed
Cycle
Time
Cycles
per
Clock
Bus
Speed
Bus
Width
Module
Transfer
Rate
Dual-Channel
Transfer
Rate
PC2-3200
DDR2-400
200MHz
5.00ns
2
400MTps
8 bytes
3,200MBps
6,400MBps
PC2-4200
DDR2-533
266MHz
3.75ns
2
533MTps
8 bytes
4,266MBps
8,533MBps
PC2-5300
DDR2-667
333MHz
3.00ns
2
667MTps
8 bytes
5,333MBps
10,667MBps
PC2-6400
DDR2-800
400MHz
2.50ns
2
800MTps
8 bytes
6,400MBps
12,800MBps
PC2-8500
DDR2-1066 533MHz
1.88ns
2
1,066MTps
8 bytes
8,533MBps
17,066MBps
DDR = Double data rate
MHz = Million cycles per second
MTps = Million transfers per second
MBps = Million bytes per second
ns = Nanoseconds (billionths of a second)
The fastest official JEDEC-approved standard is DDR2-1066, which is composed of chips that run at
an effective speed of 1,066MHz (really megatransfers per second), resulting in modules designated
PC2-8500 having a bandwidth of 8,533MBps. However, just as with DDR, many of the module manufacturers produce even faster modules designed for overclocked systems. These are sold as modules
with unofficial designations and performance figures that exceed the standard ratings. Table 6.8
shows the popular unofficial speed ratings I’ve seen on the market. Note that because the speeds of
these modules are beyond the standard default motherboard and chipset speeds, you won’t see an
advantage to using these unless you are overclocking your system to match.
Table 6.8 Overclocked (Non-JEDEC) DDR2 Module (240-Pin DIMM) Speeds and
Transfer Rates
Module
Standard
Chip
Type
Clock
Speed
(MHz)
Cycles
per
Clock
Bus
Speed
(MTps)
Bus
Width
(Bytes)
Transfer
Rate
(MBps)
Dual ChannelTransfer
Rate (MBps)
PC2-6000
DDR2-750
375
2
750
8
6,000
12,000
PC2-7200
DDR2-900
450
2
900
8
7,200
14,400
PC2-8000
DDR2-1000
500
2
1000
8
8,000
16,000
PC2-8800
DDR2-1100
550
2
1100
8
8,800
17,600
PC2-8888
DDR2-1111
556
2
1111
8
8,888
17,777
PC2-9136
DDR2-1142
571
2
1142
8
9,136
18,272
PC2-9200
DDR2-1150
575
2
1150
8
9,200
18,400
PC2-9600
DDR2-1200
600
2
1200
8
9,600
19,200
PC2-10000
DDR2-1250
625
2
1250
8
10,000
20,000
DDR = Double data rate
MHz = Million cycles per second
MTps = Million transfers per second
MBps = Million bytes per second
ns = Nanoseconds (billionths of a second)
Typically, you can find DDR2 modules rated between CL 3 and 6.
332
Chapter 6
Memory
DDR3 SDRAM
DDR3 is the latest JEDEC memory standard. It enables higher levels of performance along with lower
power consumption and higher reliability than DDR2. JEDEC began working on the DDR3 specification in June 2002, and the first DDR3 memory modules and supporting chipsets (versions of the Intel
3x series) were released for Intel-based systems in mid-2007. Due to initial high cost and limited support, DDR3 didn’t start to become popular until late 2008 when Intel released the Core i7 processor,
which included an integrated tri-channel DDR3 memory controller. In early 2009, popularity
increased when AMD released Socket AM3 versions of the Phenom II, the first from AMD to support
DDR3. In 2009, with full support from both Intel and AMD, DDR3 finally began to achieve price parity with DDR2, causing DDR3 to begin to eclipse DDR2 in sales.
DDR3 modules use advanced signaling techniques, including self-driver calibration and data synchronization, along with an optional onboard thermal sensor. DDR3 memory runs on only 1.5V, which is
nearly 20% less than the 1.8V that DDR2 memory uses. The lower voltage combined with higher efficiency reduces overall power consumption by up to 30% compared to DDR2.
The 240-pin DDR3 modules are similar in pin count, size, and shape to the DDR2 modules; however,
the DDR3 modules are incompatible with the DDR2 circuits and are designed with different keying to
make them physically noninterchangeable.
DDR3 modules are available in speeds of 800MHz (effective) and higher. Just as with DDR and DDR2,
the true clock speed is half the effective rate, which is technically expressed in million transfers per second (MTps). Table 6.9 shows the JEDEC-approved DDR3 module types and bandwidth specifications.
Table 6.9
JEDEC Standard DDR3 Module (240-Pin DIMM) Speeds and Transfer Rates
Cycle
Time
Cycles
per
Bus
Clock Speed
Module
Bus
Transfer
Width Rate
DualChannel
Transfer
Rate
TriChannel
Transfer
Rate
Module
Type
Chip
Type
Base
Clock
Speed
PC3-6400
DDR3-800
400MHz
2.50ns
2
800MTps
8 bytes
6,400MBps
12,800MBps
19,200MBps
PC3-8500
DDR3-1066
533MHz
1.88ns
2
1,066MTps
8 bytes
8,533MBps
17,066MBps
25,600MBps
PC3-10600
DDR3-1333
667MHz
1.50ns
2
1,333MTps
8 bytes
10,667MBps
21,333MBps
32,000MBps
PC3-12800
DDR3-1600
800MHz
1.25ns
2
1,600MTps
8 bytes
12,800MBps
25,600MBps
38,400MBps
PC3-14900
DDR3-1866
933MHz
1.07ns
2
1,866MTps
8 bytes
14,933MBps
29,866MBps
44,800MBps
PC3-17000
DDR3-2133
1066MHz
0.94ns
2
2,133MTps
8 bytes
17,066MBps
34,133MBps
51,200MBps
DDR = Double data rate
MHz = Million cycles per second
MTps = Million transfers per second
MBps = Million bytes per second
ns = Nanoseconds (billionths of a second)
The fastest official JEDEC-approved standard is DDR3-2133, which is composed of chips that run at
an effective speed of 2,133MHz (really megatransfers per second), resulting in modules designated
PC3-17000 and having a bandwidth of 17,066MBps. However, just as with DDR and DDR2, many
manufacturers produce nonstandard modules designed for overclocked systems. These are sold as
modules with unofficial designations, clock speeds, and performance figures that exceed the standard
ratings.
Memory Modules
Chapter 6
333
Table 6.10 shows the popular unofficial DDR3 speed ratings I’ve seen on the market. Note that
because the speeds of these modules don’t conform to the standard default motherboard and chipset
speeds, you won’t see an advantage to using them unless you are overclocking your system and your
motherboard supports the corresponding overclocked processor and memory settings that these modules require. In addition, because these modules use standard-speed chips that are running overclocked, they almost always require custom voltage settings that are higher than the 1.5V that
standard DDR3 memory uses. For system stability, I generally don’t recommend using overclocked
(higher voltage) memory, instead preferring to use only that which runs on the DDR3 standard 1.5V.
Table 6.10 Overclocked (Non-JEDEC) DDR3 Module (240-Pin DIMM) Speeds and
Transfer Rates
Module
Standard
Chip
Type
Clock
Speed
(MHz)
Cycles
per
Clock
Bus
Speed
(MTps)
Bus
Width
(Bytes)
Transfer
Rate
(MBps)
Dual-Channel
Transfer Rate
(MBps)
Tri-Channel
Transfer
(MBps)
PC3-11000
DDR3-1375
688
2
1375
8
11,000
22,000
33,000
PC3-13000
DDR3-1625
813
2
1625
8
13,000
26,000
39,000
PC3-14400
DDR3-1800
900
2
1800
8
14,400
28,800
43,200
PC3-14900
DDR3-1866
933
2
1866
8
14,933
29,866
44,800
PC3-15000
DDR3-1866
933
2
1866
8
14,933
29,866
44,800
PC3-16000
DDR3-2000
1000
2
2000
8
16,000
32,000
48,000
DDR = Double data rate
MHz = Million cycles per second
MTps = Million transfers per second
MBps = Million bytes per second
ns = Nanoseconds (billionths of a second)
Typically, you can find DDR3 modules rated CL 5 through 10.
RDRAM
Rambus DRAM (RDRAM) was a proprietary (non-JEDEC) memory technology found mainly in certain
Intel-based Pentium III and 4 systems from 2000 through 2002. Very few of these systems are still in
use today.
For more information about RDRAM and RIMM modules, see Chapter 6, “Memory,” in Upgrading and
Repairing PCs, 19th edition.
Memory Modules
Originally, PCs had memory installed via individual chips. They are often referred to as dual inline
package (DIP) chips because of their physical designs. The original IBM XT and AT systems had 36
sockets on the motherboard for these individual chips—and more sockets could often be found on
memory cards plugged into the bus slots. I remember spending hours populating boards with these
chips, which was a tedious job.
Besides being a time-consuming and labor-intensive way to deal with memory, DIP chips had one
notorious problem—they crept out of their sockets over time as the system went through thermal
cycles. Every day, when you powered the system on and off, the system heated and cooled, and the
chips gradually walked their way out of the sockets—a phenomenon called chip creep. Eventually,
334
Chapter 6
Memory
good contact was lost and memory errors resulted. Fortunately, reseating all the chips back in their
sockets usually rectified the problem, but that method was labor intensive if you had many systems to
support.
The alternative to this at the time was to have the memory soldered into either the motherboard or
an expansion card. This prevented the chips from creeping and made the connections more permanent, but it caused another problem. If a chip did go bad, you had to attempt desoldering the old one
and resoldering a new one or resort to scrapping the motherboard or memory card on which the chip
was installed. This was expensive and made memory troubleshooting difficult.
A chip was needed that was both soldered and removable, which was made possible by using memory
modules instead of individual chips. Early modules had one row of electrical contacts and were called
SIMMs (single inline memory modules), whereas later modules had two rows and were called DIMMs
(dual inline memory modules) or RIMMs (Rambus inline memory modules). These small boards plug
into special connectors on a motherboard or memory card. The individual memory chips are soldered
to the module, so removing and replacing them is impossible. Instead, you must replace the entire
module if any part of it fails. The module is treated as though it were one large memory chip.
Several types of SIMMs, DIMMs, and RIMMs have been commonly used in desktop systems. The various types are often described by their pin count, memory row width, or memory type.
SIMMs, for example, are available in two main physical types—30-pin (8 bits plus an option for 1
additional parity bit) and 72-pin (32 bits plus an option for 4 additional parity bits)—with various
capacities and other specifications. The 30-pin SIMMs are physically smaller than the 72-pin versions,
and either version can have chips on one or both sides. SIMMs were widely used from the late 1980s
to the late 1990s but have become obsolete.
DIMMs are available in four main types. SDR (single data rate) DIMMs have 168 pins, one notch on
either side, and two notches along the contact area. DDR DIMMs, on the other hand, have 184 pins,
two notches on each side, and only one offset notch along the contact area. DDR2 and DDR3 DIMMs
have 240 pins, two notches on each side, and one near the center of the contact area. All DIMMs are
either 64 bits (non-ECC/parity) or 72 bits (data plus parity or error-correcting code [ECC]) wide. The
main physical difference between SIMMs and DIMMs is that DIMMs have different signal pins on
each side of the module, resulting in two rows of electrical contacts. That is why they are called dual
inline memory modules, and why with only 1 inch of additional length, they have many more pins
than a SIMM.
Note
There is confusion among users and even in the industry regarding the terms single-sided and double-sided with respect to
memory modules. In truth, the single- or double-sided designation actually has nothing to do with whether chips are physically located on one or both sides of the module, and it has nothing to do with whether the module is a SIMM or DIMM
(meaning whether the connection pins are single- or double-inline). Instead, the terms single-sided and double-sided indicate whether the module has one or two internal banks (called ranks) of memory chips installed. A dual-rank DIMM module has two complete 64-bit wide banks of chips logically stacked so that the module is twice as deep (has twice as
many 64-bit rows). In most (but not all) cases, this requires chips to be on both sides of the module; therefore, the term
double-sided often indicates that a module has two ranks, even though the term is technically incorrect. Single-rank modules (incorrectly referred to as single-sided) can also have chips physically mounted on both sides of the module, and dualrank modules can have chips physically mounted on only one side. I recommend using the terms single rank or dual rank
instead because they are much more accurate and easily understood.
Memory Modules
Chapter 6
335
Figures 6.3 through 6.9 show a typical 30-pin (8-bit) SIMM, 72-pin (32-bit) SIMM, 168-pin SDRAM
DIMM, 184-pin DDR SDRAM (64-bit) DIMM, 240-pin DDR2 DIMM, 240-pin DDR3 DIMM, and 184pin RIMM, respectively. The pins are numbered from left to right and are connected to both sides of
the module on the SIMMs. The pins on the DIMM are different on each side, but on a SIMM, each
side is the same as the other and the connections carry through. Note that all dimensions are in both
inches and millimeters (in parentheses), and modules are generally available in ECC versions with 1
extra ECC (or parity) bit for every 8 data bits (multiples of 9 in data width) or versions that do not
include ECC support (multiples of 8 in data width).
.653 (16.59)
.647 (16.43)
3.505 (89.03)
3.495 (88.77)
.200 (5.08)
MAX
.133 (3.38)
TYP
.250 (6.35)
TYP
.400 (10.16)
TYP
.100 (2.54)
TYP
PIN 1
.080 (2.03)
TYP
Figure 6.3
.070 (1.78)
TYP
.055 (1.40)
.047 (1.19)
A typical 30-pin SIMM.
4.260 (108.20)
4.240 (107.70)
.133 (3.38)
TYP
.125 (3.18)
TYP
+
.250 (6.35)
1.75 (44.45) TYP
.080 (2.03)
.250 (6.35)
PIN 1
.050 (1.27) .040 (1.02)
TYP
TYP
.200 (5.08)
MAX
1.010 (25.65)
.990 (25.25)
.400 (10.16)
TYP
.235 (5.97)
MIN
.054 (1.37)
.047 (1.19)
3.75 (95.25)
Figure 6.4
A typical 72-pin SIMM.
FRONT VIEW
.350 (8.89)
MAX
5.260 (133.80)
5.240 (133.00)
.079 (2.00) R
(2x)
1.260 (32.00)
.700 (17.7B) 1.240 (31.50)
TYP
.118 (3.00) R
(2x)
.118 (3.00) TYP
.118 (3.00)
TYP
.250 (6.35) TYP
1.661 (42.18)
PIN 1 (PIN 85 ON
BACKSIDE)
.390 (1.00) .050 (1.27)
TYP
TYP
.039
(1.00) R (2x)
2.625 (66.68)
4.550 (115.57)
Figure 6.5
A typical 168-pin SDRAM DIMM.
.128 (3.25) (2x)
.118 (3.00)
PIN 84 (PIN 168 ON
BACKSIDE)
.054 (1.37)
.046 (1.17)
336
Chapter 6
Memory
.157 (4.00)
MAX
FRONT VIEW
5.256 (133.50)
5.244 (133.20)
.079 (2.00) R
(4x)
+
+
.098 (2.50) D
(2x)
.091 (2.30) TYP
+
+
PIN 1
.091 (2.30)
TYP
Figure 6.6
1.255 (31.88)
1.245 (31.62)
.700 (17.78)
TYP
+
0.35 (0.90) R
.050 (1.27) .040 (1.02) .250 (6.35)
TYP
TYP
TYP
4.75 (120.65)
PIN 92
A typical 184-pin DDR DIMM.
133.35mm
Front
30.00mm
55.00mm
63.00mm
4.0mm
Rear
1.270 + 0.10mm
Figure 6.7
A typical 240-pin DDR2 DIMM.
Figure 6.8
A typical 240-pin DDR3 DIMM.
.054 (1.37)
.046 (1.17)
Memory Modules
FRONT VIEW
+
+
+
+
+
PIN 1
(93 on back)
0.2234 (5.675)
REF
Figure 6.9
337
.164 (4.16)
MAX
5.256 (133.50)
5.244 (133.20)
4.750 (120.65)
.079 (2.00) R
(2x)
Chapter 6
.700
(17.78)
+
0.039
(1.00) 0.453
(11.50)
2.175 (55.26)
2.169 (55.10)
0.031
(0.80)
1.255 (31.88)
1.245 (31.62)
1.772 (45.00)
.039 (1.00) R
(2x)
PIN 92
(184 on back)
.054 (1.37)
.046 (1.17)
3.078 (78.17)
REF
A typical 184-pin RIMM (RIMM modules use RDRAM).
All these memory modules are fairly compact considering the amount of memory they hold and are
available in several capacities and speeds. Table 6.11 lists the various capacities available for SIMMs,
DIMMs, and RIMMs.
Table 6.11
SIMM, DIMM, and RIMM Capacities
Capacity
Standard Depth×Width
Parity/ECC Depth×Width
256KB
256K×8
256K×9
1MB
1M×8
1M×9
4MB
4M×8
4M×9
16MB
16M×8
16M×9
1MB
256K×32
256K×36
2MB
512K×32
512K×36
30-Pin SIMM
72-Pin SIMM
4MB
1M×32
1M×36
8MB
2M×32
2M×36
16MB
4M×32
4M×36
32MB
8M×32
8M×36
64MB
16M×32
16M×36
128MB
32M×32
32M×36
8MB
1M×64
1M×72
16MB
2M×64
2M×72
32MB
4M×64
4M×72
64MB
8M×64
8M×72
128MB
16M×64
16M×72
256MB
32M×64
32M×72
512MB
64M×64
64M×72
168/184-Pin DIMM/DDR DIMM
1,024MB
128M×64
128M×72
2,048MB
256M×64
256M×72
338
Chapter 6
Table 6.11
Memory
Continued
Capacity
Standard Depth×Width
Parity/ECC Depth×Width
32M×64
32M×72
240-Pin DDR2/DDR3 DIMM
256MB
512MB
64M×64
64M×72
1,024MB
128M×64
128M×72
2,048MB
256M×64
256M×72
4,096MB
512M×64
512M×72
64MB
32M×16
32M×18
128MB
64M×16
64M×18
256MB
128M×16
128M×18
512MB
256M×16
256M×18
1,024MB
512M×16
512M×18
184-Pin RIMM
Memory modules of each type and capacity are available in various speed ratings. Consult your
motherboard documentation for the correct memory speed and type for your system. If a system
requires a specific speed memory module, you can almost always substitute faster speeds if the one
specified is not available. Generally, no problems occur in mixing module speeds, as long as you use
modules equal to or faster than what the system requires. Because there’s little price difference
between the various speed versions, I often buy faster modules than are necessary for a particular
application, especially if they are the same price as slower modules. This might make them more
usable in a future system that could require the faster speed.
Because SDRAM and newer modules have an onboard SPD ROM that reports their speed and timing
parameters to the system, most systems run the memory controller and memory bus at the speed
matching the slowest module installed.
Note
A bank is the smallest amount of memory needed to form a single row of memory addressable by the processor. It is the
minimum amount of physical memory that the processor reads or writes at one time and usually corresponds to the data
bus width of the processor. If a processor has a 64-bit data bus, a bank of memory also is 64 bits wide. If the memory
runs dual- or tri-channel, a virtual bank is formed that is two or three times the absolute data bus width of the processor.
You can’t always replace a module with a higher-capacity unit and expect it to work. Systems might
have specific design limitations for the maximum capacity of module they can take. A larger-capacity
module works only if the motherboard is designed to accept it in the first place. Consult your system
documentation to determine the correct capacity and speed to use.
Registered Modules
SDRAM through DDR3 modules are available in unbuffered and registered versions. Most PC motherboards are designed to use unbuffered modules, which allow the memory controller signals to pass
directly to the memory chips on the module with no interference. This is not only the cheapest
design, but also the fastest and most efficient. The only drawback is that the motherboard designer
must place limits on how many modules (meaning module sockets) can be installed on the board,
and it could limit how many chips can be on a module. So-called double-sided modules that really
have multiple banks of chips onboard might be restricted on some systems in certain combinations.
Memory Modules
Chapter 6
339
Systems designed to accept extremely large amounts of RAM (such as servers) often require registered
modules. A registered module uses an architecture that has register chips on the module that act as an
interface between the actual RAM chips and the chipset. The registers temporarily hold data passing
to and from the memory chips and enable many more RAM chips to be driven or otherwise placed on
the module than the chipset could normally support. This allows for motherboard designs that can
support many modules and enables each module to have a larger number of chips. In general, registered modules are required by server or workstation motherboards designed to support more than
four sockets. One anomaly is the initial version of the AMD Athlon 64 FX processor, which also uses
registered memory because its Socket 940 design was based on the AMD Opteron workstation and
server processor. Subsequent Socket 939, AM2, and Socket F versions of the Athlon FX no longer
require registered memory.
To provide the space needed for the buffer chips, a registered DIMM is often taller than a standard
DIMM. Figure 6.10 compares a typical registered DIMM to a typical unbuffered DIMM.
Tip
If you are installing registered DIMMs in a slimline case, clearance between the top of the DIMM and the case might be
a problem. Some vendors sell low-profile registered DIMMs that are about the same height as unbuffered DIMMs. Use this
type of DIMM if your system does not have enough head room for standard registered DIMMs. Some vendors sell only
this type of DIMM for particular systems.
Registered DIMM
Unbuffered DIMM
Figure 6.10
buffer chips.
A typical registered DIMM is taller than a typical unbuffered DIMM to provide room for
The important thing to note is that you can use only the type of module your motherboard (or
chipset) is designed to support. For most, that is standard unbuffered modules or, in some cases, registered modules.
340
Chapter 6
Memory
SIMM Details
Some of the factors to keep in mind when installing memory into a system that uses SIMMs include:
■ How different types of SIMMs identify themselves (presence detect pins)
■ Differences between generic and IBM-specific SIMMs
■ Compatibility issues when mixing gold and tin modules and contacts.
SDR DIMM Details
SDR DIMMs use a completely different type of presence detect than SIMMs, called serial presence detect
(SPD). It consists of a small EEPROM or flash memory chip on the DIMM that contains specially formatted data indicating the DIMM’s features. This serial data can be read via the serial data pins on the
DIMM, and it enables the motherboard to autoconfigure to the exact type of DIMM installed.
DIMMs can come in several varieties, including unbuffered and buffered as well as 3.3V and 5V.
Buffered DIMMs have additional buffer chips on them to interface to the motherboard.
Unfortunately, these buffer chips slow down the DIMM and are not effective at higher speeds. For this
reason, most PC systems (those that do not use registered DIMMs) use unbuffered DIMMs. The voltage is simple—DIMM designs for PCs are almost universally 3.3V. If you install a 5V DIMM in a 3.3V
socket, it would be damaged, but keying in the socket and on the DIMM prevents that.
Modern PC systems use only unbuffered 3.3V DIMMs. Apple and other non-PC systems can use the
buffered 5V versions. Fortunately, the key notches along the connector edge of a DIMM are spaced
differently for buffered/unbuffered and 3.3V/5V DIMMs, as shown in Figure 6.11. This prevents
inserting a DIMM of the wrong type into a given socket.
DRAM Key Position
Reserved
Unbuffered
Buffered
Figure 6.11
Voltage Key Position
5.0V
Reserved
3.3V
The 168-pin DRAM DIMM notch key definitions.
DDR DIMM Details
The 184-pin DDR DIMMs use a single key notch to indicate voltage, as shown in Figure 6.12.
DDR DIMMs also use two notches on each side to enable compatibility with both low- and highprofile latched sockets. Note that the key position is offset with respect to the center of the DIMM to
prevent inserting it backward in the socket. The key notch is positioned to the left, centered, or to the
right of the area between pins 52 and 53. This indicates the I/O voltage for the DDR DIMM and prevents installing the wrong type into a socket that might damage the DIMM.
Determining a Memory Module’s Size and Features
Chapter 6
341
184-Pin DDR DIMM
Center Key Position
(VDDQ voltage)
52 pins
40 pins
VDDQ = 2.5V
VDDQ = 1.8V
VDDQ = TBD
Centerline
Figure 6.12
The 184-pin DDR SDRAM DIMM keying.
DDR2 DIMM Details
The 240-pin DDR2 DIMMs use two notches on each side to enable compatibility with both low- and
high-profile latched sockets. The connector key is offset with respect to the center of the DIMM to
prevent inserting it backward in the socket. The key notch is positioned in the center of the area
between pins 64 and 65 on the front (184/185 on the back), and there is no voltage keying because
all DDR2 DIMMs run on 1.8V.
DDR3 DIMM Details
The 240-pin DDR3 DIMMs use two notches on each side to enable compatibility with both low- and
high-profile latched sockets. The connector key is offset with respect to the center of the DIMM to
prevent inserting it backward in the socket. The key notch is positioned in the center of the area
between pins 48 and 49 on the front (168/169 on the back), and there is no voltage keying because
all DDR3 DIMMs run on 1.5V.
Determining a Memory Module’s Size and
Features
Most memory modules are labeled with a sticker indicating the module’s type, speed rating, and manufacturer. If you are attempting to determine whether existing memory can be used in a new computer, or if you need to replace memory in an existing computer, this information can be essential.
Figure 6.13 compares the markings on a typical 512MB DDR2 module from Crucial Technology and a
2GB DDR2 module from Kingston Technology.
However, if you have memory modules that are not labeled, you can still determine the module type,
speed, and capacity if the memory chips on the module are clearly labeled. For example, assume you
have a memory module with chips labeled as follows:
MT46V64M8TG-75
By using an Internet search engine such as Google and entering the number from one of the memory
chips, you can usually find the data sheet for the memory chips. Consider the following example: Say
you have a registered memory module and want to look up the part number for the memory chips
(usually eight or more chips) rather than the buffer chips on the module (usually from one to three,
depending on the module design). In this example, the part number turns out to be a Micron memory chip that decodes like this:
MT = Micron Technologies (the memory chip maker)
342
Chapter 6
Memory
46 = DDR SDRAM
V = 2.5V DC
64M8 = 8 million rows × 8 (equals 64) × 8 banks (often written as 64 Meg × 8)
TG = 66-pin TSOP chip package
–75 = 7.5ns @ CL2 latency (DDR 266)
Figure 6.13 Markings on a 512MB DDR2 module (top) from Crucial Technology compared to markings
on a 2GB (bottom) DDR2 memory module from Kingston Technology.
The full datasheet for this example is located at http://download.micron.com/pdf/datasheets/dram/
ddr/512MBDDRx4x8x16.pdf.
From this information, you can determine that the module has the following characteristics:
■ The module runs at DDR266 speeds using standard 2.5V DC voltage.
■ The module has a latency of CL2, so you can use it on any system that requires CL2 or slower
latency (such as CL2.5 or CL3).
■ Each chip has a capacity of 512Mb (64 × 8 = 512).
■ Each chip contains 8 bits. Because it takes 8 bits to make 1 byte, you can calculate the capacity
of the module by grouping the memory chips on the module into groups of eight. If each chip
contains 512Mb, a group of eight means that the module has a size of 512MB (512Mb × 8 =
512MB). A dual-bank module has two groups of eight chips for a capacity of 1GB (512Mb × 8 =
1024MB, or 1GB).
If the module has nine instead of eight memory chips (or 18 instead of 16), the additional chips are
used for parity checking and support ECC error correction on servers with this feature.
To determine the size of the module in megabytes or gigabytes and to determine whether the module
supports ECC, count the memory chips on the module and compare them to Table 6.12. Note that
the size of each memory chip in megabits is the same as the size in megabytes if the memory chips
use an 8-bit design.
Memory Banks
Table 6.12
Chapter 6
343
Module Capacity Using 512Mb (64Mbit × 8) Chips
Number
of Chips
Number of
Bits in
Each Bank
Module
Size
Supports
ECC?
Single or
Dual
Bank
8
64
512MB
No
Single
9
72
512MB
Yes
Single
16
64
1GB
No
Dual
18
72
1GB
Yes
Dual
The additional chip that each group of eight chips uses provides parity checking, which the ECC
function employs on most server motherboards to correct single-bit errors.
A registered module contains 9 or 18 memory chips for ECC plus additional memory buffer chips.
These chips are usually smaller in size and located near the center of the module, as shown previously
in Figure 6.10.
Note
Some modules use 16-bit wide memory chips. In such cases, only four chips are needed for single-bank memory (five with
parity/ECC support), and eight are needed for double-bank memory (10 with parity/ECC support). These memory chips
use a design listed as capacity times 16, like this: 256Mb×16.
You can also see this information if you look up the manufacturer and the memory type in a search
engine. For example, a web search for Micron Unbuffered DIMM Design locates a table showing various
DIMM organization, SDRAM density, and other information for listed modules.
As you can see, with a little detective work, you can determine the size, speed, and type of a memory
module—even if the module isn’t marked, as long as the markings on the memory chips themselves
are legible.
Tip
If you are unable to decipher a chip part number, you can use a program such as HWiNFO or SiSoftware Sandra to
identify your memory module, as well as many other facts about your computer, including chipset, processor, empty memory sockets, and much more. You can download shareware versions of HWiNFO from www.hwinfo.com and SiSoftware
Sandra from www.sisoftware.net.
Memory Banks
Memory chips (DIPs, SIMMs, SIPPs, and DIMMs) are organized in banks on motherboards and memory
cards. You should know the memory bank layout and position on the motherboard and memory cards.
You need to know the bank layout when adding memory to the system. In addition, memory diagnostics report error locations by byte and bit addresses, and you must use these numbers to locate
which bank in your system contains the problem.
The banks usually correspond to the data bus capacity of the system’s microprocessor. Table 6.13
shows the widths of individual banks based on the type of PC.
344
Chapter 6
Table 6.13
Memory
Memory Bank Widths on Various Systems
Memory
Bank
Width
Memory
Bank Width
(Parity/ECC)
30-Pin
SIMMs
per Bank
72-Pin
SIMMs
per Bank
DIMMs
per
Bank
Processor
Data
Bus
8088
8-bit
8 bits
9 bits
1
—
—
8086
16-bit
16 bits
18 bits
2
—
—
286
16-bit
16 bits
18 bits
2
—
—
386SX, SL, SLC
16-bit
16 bits
18 bits
2
—
—
486SLC, SLC2
16-bit
16 bits
18 bits
2
—
—
386DX
32-bit
32 bits
36 bits
4
1
—
486SX, DX, DX2,
DX4, 5x86
x86 and x86-64 running
single-channel mode
32-bit
32 bits
36 bits
4
1
—
64-bit
64 bits
72 bits
—
—
1
x86 and x86-64 running
dual-channel mode
x86 and x86-64 running
tri-channel mode
64-bit
128 bits
144 bits
—
—
2
64-bit
192 bits
216 bits
—
—
3
DIMMs are ideal for Pentium (and higher) systems because the 64-bit width of the DIMM exactly
matches the 64-bit width of the Pentium processor data bus. Therefore, each DIMM represents an
individual bank, and these can be added or removed one at a time. Many recent systems have been
designed to use matched pairs or triples of memory modules for faster performance. So-called “dualchannel” and “tri-channel” designs treat two or three matched modules as a single bank of memory.
The physical orientation and numbering of the SIMMs or DIMMs used on a motherboard are arbitrary
and determined by the board’s designers, so documentation covering your system or card comes in
handy. You can determine the layout of a motherboard or an adapter card through testing, but that
takes time and might be difficult, particularly after you have a problem with a system.
Caution
If your system supports dual- or tri-channel memory, be sure you use the correct memory sockets to enable multichannel
operation. Check the documentation to ensure that you use the correct sockets. Most multichannel systems still run in singlechannel mode if the memory is not installed in a way that permits full multichannel operation, but performance is lower
than if the memory were installed properly. Some systems provide dual-channel support if an odd number of modules is
installed, as long as the total capacity of two modules installed in one channel equals the size of the single module in the
other channel and all modules are the same speed and latency. Again, check your documentation for details.
Memory Module Speed
When you replace a failed memory module or install a new module as an upgrade, you typically must
install a module of the same type and speed as the others in the system. You can substitute a module
with a different (faster) speed, but only if the replacement module’s speed is equal to or faster than
that of the other modules in the system.
Some people have had problems when “mixing” modules of different speeds. With the variety of
motherboards, chipsets, and memory types, few ironclad rules exist. When in doubt as to which speed
module to install in your system, consult the motherboard documentation for more information.
Parity and ECC
Chapter 6
345
Substituting faster memory of the same type doesn’t result in improved performance if the system still
operates the memory at the same speed. Systems that use DIMMs or RIMMs can read the speed and
timing features of the module from a special SPD ROM installed on the module and then set chipset
(memory controller) timing accordingly. In these systems, you might see an increase in performance
by installing faster modules, to the limit of what the chipset supports.
To place more emphasis on timing and reliability, there are Intel and JEDEC standards governing
memory types that require certain levels of performance. These standards certify that memory modules perform within Intel’s timing and performance guidelines.
The same common symptoms result when the system memory has failed or is simply not fast enough
for the system’s timing. The usual symptoms are frequent parity check errors or a system that does
not operate. The POST might report errors, too. If you’re unsure of which chips to buy for your system, contact the system manufacturer or a reputable chip supplier.
◊◊
See “Parity Checking,” p. 347 (this chapter).
Parity and ECC
Part of the nature of memory is that it inevitably fails. These failures are usually classified as two basic
types: hard fails and soft errors.
The best understood are hard fails, in which the chip is working and then, because of some flaw,
physical damage, or other event, becomes damaged and experiences a permanent failure. Fixing this
type of failure normally requires replacing some part of the memory hardware, such as the chip,
SIMM, or DIMM. Hard error rates are known as HERs.
The other, more insidious type of failure is the soft error, which is a nonpermanent failure that might
never recur or could occur only at infrequent intervals. Soft error rates are known as SERs.
In the late 1970s, Intel made a discovery about soft errors that shook the memory industry. It found
that alpha particles were causing an unacceptably high rate of soft errors or single event upsets (SEUs,
as they are sometimes called) in the 16KB DRAMs that were available at the time. Because alpha particles are low-energy particles that can be stopped by something as thin and light as a sheet of paper, it
became clear that for alpha particles to cause a DRAM soft error, they would have to be coming from
within the semiconductor material. Testing showed trace elements of thorium and uranium in the plastic and ceramic chip packaging materials used at the time. This discovery forced all the memory manufacturers to evaluate their manufacturing processes to produce materials free from contamination.
Today, memory manufacturers have all but totally eliminated the alpha-particle source of soft errors,
and more recent discoveries prove that alpha particles are now only a small fraction of the cause of
DRAM soft errors.
As it turns out, the biggest cause of soft errors today is cosmic rays. IBM researchers began investigating the potential of terrestrial cosmic rays in causing soft errors similar to alpha particles. The difference is that cosmic rays are high-energy particles and can’t be stopped by sheets of paper or other
more powerful types of shielding. The leader in this line of investigation was Dr. J.F. Ziegler of the
IBM Watson Research Center in Yorktown Heights, New York. He has produced landmark research
into understanding cosmic rays and their influence on soft errors in memory. One interesting set of
experiments found that cosmic ray–induced soft errors were eliminated when the DRAMs were moved
to an underground vault shielded by more than 50 feet of rock.
Cosmic ray–induced errors are even more of a problem in SRAMs than DRAMS because the amount of
charge required to flip a bit in an SRAM cell is less than is required to flip a DRAM cell capacitor.
Cosmic rays are also more of a problem for higher-density memory. As chip density increases, it
346
Chapter 6
Memory
becomes easier for a stray particle to flip a bit. It has been predicted by some that the soft error rate of
a 64MB DRAM is double that of a 16MB chip, and a 256MB DRAM has a rate four times higher. As
memory sizes continue to increase, it’s likely that soft error rates will also increase.
Unfortunately, the PC industry has largely failed to recognize this cause of memory errors.
Electrostatic discharge, power surges, and unstable software can much more easily explain away the
random and intermittent nature of a soft error, especially right after a new release of an operating system (OS) or major application.
Although cosmic rays and other radiation events are perhaps the biggest cause of soft errors, soft
errors can also be caused by the following:
■ Power glitches or noise on the line—This can be caused by a defective power supply in the
system or by defective power at the outlet.
■ Incorrect type or speed rating—The memory must be the correct type for the chipset and
match the system access speed.
■ RF (radio frequency) interference—Caused by radio transmitters in close proximity to the
system, which can generate electrical signals in system wiring and circuits. Keep in mind that
the increased use of wireless networks, keyboards, and mouse devices can lead to a greater risk
of RF interference.
■ Static discharges—These discharges cause momentary power spikes, which alter data.
■ Timing glitches—Data doesn’t arrive at the proper place at the proper time, causing errors.
Often caused by improper settings in the BIOS Setup, by memory that is rated slower than the
system requires, or by overclocked processors and other system components.
■ Heat buildup—High-speed memory modules run hotter than older modules. RDRAM RIMM
modules were the first memory to include integrated heat spreaders, and many high-performance
DDR, DDR2, and DDR3 memory modules now include heat spreaders to help fight heat buildup.
Most of these problems don’t cause chips to permanently fail (although bad power or static can damage chips permanently), but they can cause momentary problems with data.
How can you deal with these errors? The best way to deal with this problem is to increase the system’s
fault tolerance. This means implementing ways of detecting and possibly correcting errors in PC systems. Three basic levels and techniques are used for fault tolerance in modern PCs:
■ Nonparity
■ Parity
■ ECC
Nonparity systems have no fault tolerance. The only reason they are used is because they have the
lowest inherent cost. No additional memory is necessary, as is the case with parity or ECC techniques.
Because a parity-type data byte has 9 bits versus 8 for nonparity, memory cost is approximately 12.5%
higher. Also, the nonparity memory controller is simplified because it does not need the logic gates to
calculate parity or ECC check bits. Portable systems that place a premium on minimizing power
might benefit from the reduction in memory power resulting from fewer DRAM chips. Finally, the
memory system data bus is narrower, which reduces the number of data buffers. The statistical probability of memory failures in a modern office desktop computer is now estimated at about one error
every few months. Errors will be more or less frequent depending on how much memory you have.
Parity and ECC
Chapter 6
347
This error rate might be tolerable for low-end systems that are not used for mission-critical applications. In this case, the extreme market sensitivity to price probably can’t justify the extra cost of parity or ECC memory, and such errors then must be tolerated.
Parity Checking
One standard IBM set for the industry is that the memory chips in a bank of nine each handle 1 bit
of data: 8 bits per character plus 1 extra bit called the parity bit. The parity bit enables memory-control
circuitry to keep tabs on the other 8 bits—a built-in cross-check for the integrity of each byte in the
system.
Originally, all PC systems used parity-checked memory to ensure accuracy. Starting in 1994, most vendors began shipping systems without parity checking or any other means of detecting or correcting
errors on the fly. These systems used cheaper nonparity memory modules, which saved about
10%–15% on memory costs for a system.
Parity memory results in increased initial system cost, primarily because of the additional memory
bits involved. Parity can’t correct system errors, but because parity can detect errors, it can make the
user aware of memory errors when they happen.
Since then, Intel and other chipset manufacturers have put support for ECC memory in many
chipsets (especially so in their higher-end models). The low-end chipsets, however, typically lack support for either parity or ECC. If more reliability is important to you, make sure the systems you purchase have this ECC support.
How Parity Checking Works
IBM originally established the odd parity standard for error checking. The following explanation
might help you understand what is meant by odd parity. As the 8 individual bits in a byte are stored
in memory, a parity generator/checker, which is either part of the CPU or located in a special chip on
the motherboard, evaluates the data bits by adding up the number of 1s in the byte. If an even number of 1s is found, the parity generator/checker creates a 1 and stores it as the ninth bit (parity bit) in
the parity memory chip. That makes the sum for all 9 bits (including the parity bit) an odd number. If
the original sum of the 8 data bits is an odd number, the parity bit created would be a 0, keeping the
sum for all 9 bits an odd number. The basic rule is that the value of the parity bit is always chosen so
that the sum of all 9 bits (8 data bits plus 1 parity bit) is stored as an odd number. If the system used
even parity, the example would be the same except the parity bit would be created to ensure an even
sum. It doesn’t matter whether even or odd parity is used; the system uses one or the other, and it is
completely transparent to the memory chips involved. Remember that the 8 data bits in a byte are
numbered 0 1 2 3 4 5 6 7. The following examples might make it easier to understand:
Data bit number:
Data bit value:
0 1 2 3 4 5 6 7
1 0 1 1 0 0 1 1
Parity bit
0
In this example, because the total number of data bits with a value of 1 is an odd number (5), the parity bit must have a value of 0 to ensure an odd sum for all 9 bits.
Here is another example:
Data bit number:
Data bit value:
0 1 2 3 4 5 6 7
1 1 1 1 0 0 1 1
Parity bit
1
In this example, because the total number of data bits with a value of 1 is an even number (6), the
parity bit must have a value of 1 to create an odd sum for all 9 bits.
348
Chapter 6
Memory
When the system reads memory back from storage, it checks the parity information. If a (9-bit) byte
has an even number of bits, that byte must have an error. The system can’t tell which bit has changed
or whether only a single bit has changed. If 3 bits changed, for example, the byte still flags a paritycheck error; if 2 bits changed, however, the bad byte could pass unnoticed. Because multiple bit errors
(in a single byte) are rare, this scheme gives you a reasonable and inexpensive ongoing indication that
memory is good or bad.
The following examples show parity-check messages for three types of older systems:
For the IBM PC:
PARITY CHECK x
For the IBM XT:
PARITY CHECK x
yyyyy (z)
For the IBM AT and late model XT:
PARITY CHECK x
yyyyy
where x is 1 or 2:
1 = Error occurred on the motherboard.
2 = Error occurred in an expansion slot.
In this example, yyyyy represents a number from 00000 through FFFFF that indicates, in hexadecimal
notation, the byte in which the error has occurred.
Also, (z) is (S) or (E):
(S) = Parity error occurred in the system unit.
(E) = Parity error occurred in an optional expansion chassis.
Note
An expansion chassis was an option IBM sold for the original PC and XT systems to add more expansion slots.
When a parity-check error is detected, the motherboard parity-checking circuits generate a nonmaskable interrupt (NMI), which halts processing and diverts the system’s attention to the error. The NMI
causes a routine in the ROM to be executed. On some older IBM systems, the ROM parity-check routine halts the CPU. In such a case, the system locks up, and you must perform a hardware reset or a
power-off/power-on cycle to restart the system. Unfortunately, all unsaved work is lost in the process.
Most systems do not halt the CPU when a parity error is detected; instead, they offer you the choice
of rebooting the system or continuing as though nothing happened. Additionally, these systems
might display the parity error message in a different format from IBM, although the information presented is basically the same. For example, most systems with a Phoenix BIOS display one of these
messages:
Memory parity interrupt at xxxx:xxxx
Type (S)hut off NMI, Type (R)eboot, other keys to continue
or
I/O card parity interrupt at xxxx:xxxx
Type (S)hut off NMI, Type (R)eboot, other keys to continue
The first of these two messages indicates a motherboard parity error (Parity Check 1), and the second
indicates an expansion-slot parity error (Parity Check 2). Notice that the address given in the form
xxxx:xxxx for the memory error is in a segment:offset form rather than a straight linear address,
Parity and ECC
Chapter 6
349
such as with IBM’s error messages. The segment:offset address form still gives you the location of the
error to a resolution of a single byte.
You have three ways to proceed after viewing this error message:
■ You can press S, which shuts off parity checking and resumes system operation at the point
where the parity check first occurred.
■ You can press R to force the system to reboot, losing any unsaved work.
■ You can press any other key to cause the system to resume operation with parity checking still
enabled.
Systems with an AMI BIOS display the parity error messages in one of the following forms:
ON BOARD PARITY ERROR ADDR (HEX) = (xxxxx)
or
OFF BOARD PARITY ERROR ADDR (HEX) = (xxxxx)
These messages indicate that an error in memory has occurred during the POST, and the failure is
located at the address indicated. The first message indicates that the error occurred on the motherboard, and the second message indicates an error in an expansion slot adapter card. The AMI BIOS
can also display memory errors in one of the following manners:
Memory Parity Error at xxxxx
or
I/O Card Parity Error at xxxxx
These messages indicate that an error in memory has occurred at the indicated address during normal
operation. The first one indicates a motherboard memory error, and the second indicates an expansion slot adapter memory error.
Note that these messages can vary depending not only on the ROM BIOS but on your OS. Protected
mode OSs, such as most versions of Windows, trap these errors and run their own handler program
that displays a message different from what the ROM would have displayed. The message might be
associated with a blue screen or might be a trap error, but it usually indicates that it is memory or parity related.
Caution
When you are notified of a memory parity error, remember the parity check is telling you that memory has been corrupted. Do you want to save potentially corrupted data over the good file from the last time you saved? Definitely not! Be
sure you save your work with a different filename. In addition, after a parity error, save only to a floppy disk or other
removable media drive if possible, and avoid writing to the hard disk. There is a slight chance that the hard drive could
become corrupt if you save the contents of corrupted memory.
After saving your work, determine the cause of the parity error and repair the system. You might be
tempted to use an option to shut off further parity checking and simply continue using the system as
though nothing were wrong. But doing so is like unscrewing the oil pressure warning indicator bulb
on a car with an oil leak so the oil pressure light won’t bother you anymore!
350
Chapter 6
Memory
ECC
ECC goes a big step beyond simple parity-error detection. Instead of just detecting an error, ECC
allows a single bit error to be corrected, which means the system can continue without interruption
and without corrupting data. ECC, as implemented in most PCs, can only detect, not correct, doublebit errors. Because studies have indicated that approximately 98% of memory errors are the single-bit
variety, the most commonly used type of ECC is one in which the attendant memory controller
detects and corrects single-bit errors in an accessed data word. (Double-bit errors can be detected but
not corrected.) This type of ECC is known as single-bit error-correction double-bit error detection (SECDED) and requires an additional 7 check bits over 32 bits in a 4-byte system and an additional 8
check bits over 64 bits in an 8-byte system. If the system uses SIMMs, two 36-bit (parity) SIMMs are
added for each bank (for a total of 72 bits), and ECC is done at the bank level. If the system uses
DIMMs, a single parity/ECC 72-bit DIMM is used as a bank and provides the additional bits. RIMMs
are installed in singles or pairs, depending on the chipset and motherboard. They must be 18-bit versions if parity/ECC is desired.
ECC entails the memory controller calculating the check bits on a memory-write operation, performing a compare between the read and calculated check bits on a read operation, and, if necessary, correcting bad bits. The additional ECC logic in the memory controller is not very significant in this age
of inexpensive, high-performance VLSI logic, but ECC actually affects memory performance on writes.
This is because the operation must be timed to wait for the calculation of check bits and, when the
system waits for corrected data, reads. On a partial-word write, the entire word must first be read, the
affected byte(s) rewritten, and then new check bits calculated. This turns partial-word write operations
into slower read-modify writes. Fortunately, this performance hit is small, on the order of a few percent at maximum, so the trade-off for increased reliability is a good one.
Most memory errors are of a single-bit nature, which ECC can correct. Incorporating this faulttolerant technique provides high system reliability and attendant availability. An ECC-based system
is a good choice for servers, workstations, or mission-critical applications in which the cost of a
potential memory error outweighs the additional memory and system cost to correct it, along with
ensuring that it does not detract from system reliability.
Unfortunately, most standard PC processors, motherboards (chipsets), and memory modules don’t
support ECC. If you want a system that supports ECC, make sure all the components involved support ECC. This usually means purchasing more expensive processors, motherboards, and RAM
designed for server or workstation applications.
RAM Upgrades
Adding memory to a system is one of the most useful upgrades you can perform and also one of the
least expensive—especially when you consider the increased performance of Windows, Linux, and
their applications when you give them access to more memory. In some cases, doubling the memory
can practically double the speed of a computer.
But it doesn’t always pay to go overboard because adding memory that you don’t really need will cost
money and power, and you will gain little or nothing in speed. The best philosophy to take when
adding RAM to a computer is that “more is better, up to a point.” If you run Windows XP, you should
specify a minimum of 256MB, and preferably 512MB to 1GB or more depending on the chipset,
processor, and especially the applications you intend to run. If you run 32-bit Windows 7 or Vista, the
absolute minimum should be 512MB according to Microsoft, but I recommend a minimum of 1GB,
with 2GB to 3GB preferred. 64- bit versions of Windows 7 and Windows Vista have a 2GB minimum,
but perform better with 4GB or more of memory.
RAM Upgrades
Chapter 6
351
Maximum physical memory capacity is dictated by several factors. The first is the amount addressable
by the processor itself, which is based on the number of physical address lines in the chip. The original PC processors (8086/8088) had 20 address lines, which resulted in those chips being able to recognize up to 1MB (220 bytes) of RAM. The 286/386SX increased memory addressing capability to 24
lines, making them capable of addressing 16MB (224 bytes). Modern x86 processors have from 32 to
36 address lines, resulting in from 4GB to 64GB of addressable RAM. Modern x86-64 (64-bit) processors have 40 address lines, resulting in a maximum of 1TB (1 terabyte) of supported physical RAM.
√√
See “Processor Specifications,” p. 37 (Chapter 3).
The operating mode of the processor may place further limits on memory addressability. For example,
when the processor is operating in backward-compatible real mode, only 1MB of memory is supported.
√√
See “Processor Modes,” p. 45 (Chapter 3).
Note that even though modern 64-bit processors can technically address up to 1TB, modern motherboards or chipsets generally limit the maximum amount of RAM to 8GB, 16GB, or 24GB. The type of
software also has an effect. The 32-bit versions of Windows XP, Vista, and Windows 7 limit memory
support to 4GB (with only about 3.25GB usable by programs), whereas the 64-bit versions limit support to 8GB, 16GB, or 192GB, depending on the edition.
√√
See “Chipsets,” p. 169 (Chapter 4) for the memory limits on motherboard chipsets.
Beyond having the minimum to run the OS you choose, the way you use your system, especially the
applications you run, can be the major determining factor as to just how much memory is best. For
example, if you are a power user with four or more displays simultaneously connected to your system,
each with multiple open applications, or you run memory-intensive applications such as photo- and
video-editing programs, or if you use a virtual machine manager (VMM) like Virtual PC or VMware to
run multiple OSs simultaneously (each of those with open applications), you might want as much
memory as you can possibly install. Many older laptops won’t accept as much memory as you might
want (or need) to install, so if you upgrade an older system that uses an obsolete (and expensive) type
of memory, the best tip might be to consider moving up to a newer system that can accept more
memory of a mainstream type that is less expensive.
When purchasing a new system, try to get it with all the memory you need right away. Some motherboards are more limited in the number of memory sockets they contain, and some of those will
already be filled when the system is delivered. This means you might need to remove some of the
existing memory to add more, which makes future upgrades more expensive. The only caveat here is
that I often find that I can purchase memory much more inexpensively from third-party vendors
than from the system manufacturer. When purchasing a new system, check on how much the manufacturer charges for the amount of memory you want, as opposed to taking the system with the
default minimum and immediately adding the desired memory yourself, purchased from a third-party
memory vendor.
The following sections discuss adding memory, including selecting memory chips, installing memory
chips, and testing the installation.
Upgrade Options and Strategies
Adding memory can be an inexpensive solution; the cost of mainstream memory is extremely low,
and adding more memory can give your computer’s performance a big boost.
352
Chapter 6
Memory
How do you add memory to your PC? You have two options, listed in order of convenience and cost:
■ Adding memory in vacant slots on your motherboard
■ Replacing your current motherboard’s memory with higher-capacity memory
If you decide to upgrade to a more powerful computer system or motherboard, you usually can’t salvage the memory from your previous system. Most of the time it is best to plan on equipping a new
board with the optimum type of memory that it supports.
Be sure to carefully weigh your future needs for computing speed and a multitasking OS against the
amount of money you spend to upgrade current equipment.
To determine at what point you should add memory, you can use the Performance Monitor
(Perfmon.msc) built into Windows. You can launch it from the Start, Run dialog box or from a command prompt. To check memory usage, select Memory as the Performance object and enable the following counters:
■ Pages/Sec—This counter measures the number of times per second that the system uses virtual
(swapfile) memory rather than physical memory. A value above 20 indicates a potential problem. Check the virtual memory settings; if the counter remains above 20, and it is not during
periods of heavy disk or file access, you should consider installing more memory.
■ Committed Bytes and Available Bytes—Committed Bytes tracks virtual memory in use;
Available Bytes tracks physical memory available. Add more memory if you run short of available bytes.
■ Cache Bytes—Measures the amount of RAM used for file system cache. Add more RAM if this
amount drops below 4MB.
Tip
It is normal to see high Pages/sec counts during periods of heavy disk or file access, such as when you’re running a malware scan, indexing operation, or defragmentation. If the Available Bytes value doesn’t decrease as the Pages/sec value
increases, the high Pages/sec numbers are probably due to application-generated disk access and not indicative of any
sort of insufficient memory problem or even a bottleneck in memory.
Before you add RAM to a system (or replace defective RAM chips), you must determine the memory
modules required for your system. Your system documentation has this information.
If you need to replace a defective memory module or add more memory to your system, you have
several methods for determining the correct module for your system:
■ Inspect the modules installed in your system. Each module has markings that indicate its capacity and speed. RAM capacity and speed were discussed in detail earlier in this chapter. You can
write down the markings on the memory module and use them to determine the type of memory you need. Check with a local store or an online memory vendor for help.
■ Look up your system using the online memory-configuration utility provided by your preferred
memory vendor. Originally, these configuration utilities were primarily for users of name-brand
systems. However, most vendors have now added major motherboard brands and models to
their databases. Therefore, if you know your system or motherboard brand and model, you can
find the memory that is recommended.
RAM Upgrades
Chapter 6
353
■ Download and run analysis software that the memory module maker or a third party provides.
SiSoftware Sandra and similar programs use the SPD chip on each module to determine this
information.
■ Consult your system documentation. I list this option last for a reason. If you have installed
BIOS upgrades, you might be able to use larger and faster memory than your documentation
lists as supported by your system. You should check the latest tech notes and documentation
available online for your system and check the BIOS version installed in your system to determine which memory-related features it has. A BIOS upgrade might enable your system to use
faster memory.
Adding the wrong modules to a system can make it as unreliable as leaving a defective module
installed and trying to use the system in that condition.
Note
Before upgrading an older Pentium (P5 class) system beyond 64MB of RAM, be sure your chipset supports caching more
than 64MB. Adding RAM beyond the amount supported by your L2 cache controller slows performance rather than
increases it. Pentium II and later processors, including the AMD Athlon, Duron, and Sempron families, have the L2 cache
controller integrated in the processor (not the chipset), which supports caching up to 4GB and beyond on most newer
models.
Purchasing Memory
When purchasing memory, you need to consider certain issues. Some are related to the manufacturing and distribution of memory, whereas others depend on the type of memory you are purchasing.
Suppliers
Many companies sell memory, but only a few companies actually make memory. Additionally, only a
few companies make memory chips, but many more companies make memory modules such as
SIMMs, DIMMs, and RIMMs. Most of the companies that make the actual RAM chips also make modules containing their own chips. Other companies, however, strictly make modules; these companies
purchase memory chips from several chip makers and then produce modules with these chips.
Finally, some companies don’t make either the chips or the modules. Instead, they purchase modules
made by other companies and relabel them.
I refer to memory modules made by the chip manufacturers as first-party modules, whereas those made
by module (but not chip) manufacturers I call second-party modules. Finally, those that are simply relabeled first- or second-party modules under a different name are called third-party modules. I always prefer
to purchase first- or second-party modules if I can because they are better documented. In essence, they
have a better pedigree, and their quality is generally more assured. Not to mention that purchasing from
the first or second party eliminates one or more middlemen in the distribution process as well.
First-party manufacturers (where the same company makes the chips and the modules) include
Micron (www.crucial.com), Infineon (formerly Siemens), Samsung, Mitsubishi, Toshiba, NEC, and
others. Second-party companies that make the modules (but not the chips) include Kingston, Viking,
PNY, Simple Tech, Smart, Mushkin, and OCZ Technologies. At the third-party level, you are not purchasing from a manufacturer but from a reseller or remarketer instead.
Most of the large manufacturers don’t sell small quantities of memory to individuals, but some have
set up factory outlet stores where individuals can purchase as little as a single module. One of the
largest memory manufacturers in the world, Micron, sells direct to the consumer at www.crucial.com.
Because you are buying direct, the pricing at these outlets is often competitive with second- and
third-party suppliers.
354
Chapter 6
Memory
Considerations in Purchasing DIMMs
When you are purchasing DIMMs, here are the main things to consider:
■ Do you need SDR, DDR, DDR2, or DDR3 versions?
■ Do you need ECC or non-ECC?
■ Do you need standard (unbuffered) or registered versions?
■ What speed grade do you need?
■ Do you need a specific CAS latency?
Currently, DIMMs come in SDR (SDRAM), DDR, DDR2, and DDR3 versions. They are not interchangeable because they use completely different signaling and have different notches to prevent a mismatch. High-reliability systems such as servers can use ECC versions, although most desktop systems
use the less-expensive non-ECC types. Most systems use standard unbuffered DIMMs, but file server
or workstation motherboards designed to support large amounts of memory might require registered
DIMMs (which also include ECC support). Registered DIMMs contain their own memory registers,
enabling the module to hold more memory than a standard DIMM. DIMMs come in a variety of
speeds, with the rule that you can always substitute a faster one for a slower one, but not vice versa.
Another speed-related issue is the CAS latency. Sometimes this specification is abbreviated CAS or CL
and is expressed in a number of cycles, with lower numbers indicating higher speeds (fewer cycles).
The lower CAS latency shaves a cycle off a burst mode read, which marginally improves memory performance. Single data rate DIMMs are available in CL3 or CL2 versions. DDR DIMMs are available in
CL2.5 or CL2 versions. DDR2 DIMMs are available in CL 3, 4, or 5. DDR3 DIMMs are available in CL
5, 6, 7, 8, and 9. With all memory types, the lowest CL number is the fastest (and usually the most
expensive) memory type. You can mix DIMMs with different CAS latency ratings, but the system usually defaults to cycling at the slower speeds of the lowest common denominator.
Considerations in Purchasing Obsolete Memory
Many people are surprised to find that obsolete memory types cost much more than those that current systems use. This is because of simple supply and demand; what is least popular generally costs
the most. This can make adding memory to older systems cost prohibitive.
Most Pentium systems after 1995 used EDO SIMMs that were non-ECC and rated for 60ns access time.
If your system is older than that, you might need FPM memory instead of EDO. The FPM and EDO
types are interchangeable in many systems, but some older systems do not accept the EDO type. Some
Pentium 4 systems use RIMMs, which are available in 184-pin and 232-pin versions. Although they
appear to be the same size, they are not interchangeable. If the system supports ECC, you might need
(or want) ECC versions. You can mix ECC and non-ECC modules, but in that case the system defaults
to non-ECC mode.
Tip
Instead of buying “new” obsolete memory for older systems, check with computer repair shops, Craigslist, websites specializing in surplus memory, or other users who might have a collection of old parts.
High-reliability systems might want or need ECC versions, which have extra ECC bits. As with other
memory types, you can mix ECC and non-ECC types, but systems can’t use the ECC capability.
RAM Upgrades
Chapter 6
355
Replacing Modules with Higher-Capacity Versions
If all the memory module slots on your motherboard are occupied, your best option is to remove an
existing bank of memory and replace it with higher-capacity modules.
However, just because higher-capacity modules are available to plug into your motherboard, don’t
automatically assume the higher-capacity memory will work. Your system’s chipset, BIOS, and OS set
limits on the capacity of the memory you can use. Check your system or motherboard documentation to see which size modules work with it before purchasing the new RAM. You should make sure
you have the latest BIOS for your motherboard when installing new memory.
If your system supports dual- or triple-channel memory, you must use modules in matched pairs or
triples (depending on which type your system supports) and install them in the correct location on
the motherboard. Consult your motherboard manual for details.
Installing Memory Modules
When you install or remove memory, you are most likely to encounter the following problems:
■ Electrostatic discharge
■ Improperly seated modules
■ Incorrect memory configuration settings in the BIOS Setup
To prevent electrostatic discharge (ESD) when you install sensitive memory chips or boards, you
shouldn’t wear synthetic-fiber clothing or leather-soled shoes because these promote the generation of
static charges. Remove any static charge you are carrying by touching the system chassis before you
begin, or better yet, wear a good commercial grounding strap on your wrist. You can order one from
any electronics parts store. A grounding strap consists of a conductive wristband grounded at the
other end through a 1-meg ohm resistor by a wire clipped to the system chassis. Be sure the system
you are working on is unplugged.
Caution
Be sure to use a properly designed commercial grounding strap; do not make one yourself. Commercial units have a 1meg ohm resistor that serves as protection if you accidentally touch live power. The resistor ensures that you do not
become the path of least resistance to the ground and therefore become electrocuted. An improperly designed strap can
cause the power to conduct through you to the ground, possibly killing you.
Follow this procedure to install memory on a typical desktop PC:
1. Shut down the system and unplug it. As an alternative to unplugging it, you can turn off the
power supply using the on/off switch on the rear of some power supplies. Wait about 10 seconds for any remaining current to drain from the motherboard.
2. Open the system. See the system or case instructions for details.
3. Connect a static guard wrist strap to your wrist and then to a metal portion of the system chassis, such as the frame. Make sure the metal plate on the inside of the wrist strap is tight against
the skin of your wrist.
4. Some motherboards feature an LED that glows as long as the motherboard is receiving power.
Wait until the LED dims before removing or installing memory.
356
Chapter 6
Memory
5. Move obstructions inside the case, such as cables or wires, out of the way of the memory modules and empty sockets. If you must remove a cable or wire, note its location and orientation so
you can replace it later.
6. If you need to remove an existing module, flip down the ejector tab at each end of the module
and lift the module straight up out of the socket. Note the keying on the module.
7. Note the specific locations needed if you are inserting modules to operate in dual-channel
mode. The sockets for dual-channel memory might use a different-colored plastic to distinguish
them from other sockets, but ultimately you should consult the documentation for your
motherboard or system to determine the proper orientation.
8. To insert a module into a socket, ensure that the ejector tabs are flipped down on the socket
you plan to use. DIMMs are keyed by notches along the bottom connector edges that are offset
from the center so they can be inserted in only one direction, as shown in Figure 6.14.
le
du
mo
b
MM r ta
DI
to
c
e
Ej
d
ye
Ke
Figure 6.14
are similar.
DIMM keys match the protrusions in the DIMM sockets. SDR/DDR/DDR2/DDR3 DIMM keys
9. Push down on the module until the ejector tabs lock into place in the notch on the side of the
module. It’s important that you not force the module into the socket. If the module does not
slip easily into the slot and then snap into place, it is probably not oriented or aligned correctly.
Forcing the module could break it or the socket. If you’re installing RIMMs, you need to fill any
empty RIMM sockets with continuity modules. Refer to Figure 6.14 for details.
10. Replace any cables or wires you disconnected.
11. Close the system, reconnect the power cable, and turn on the PC.
The SIMMs used in older systems are oriented by a notch on one side of the module that is not present on the other side, as shown in Figure 6.15. The socket has a protrusion that must fit into this
notched area on one side of the module. This protrusion makes installing a SIMM backward impossible unless you break the connector or the module. Figure 6.16 details the notch and locking clip.
RAM Upgrades
Chapter 6
357
Insert down first…
SIMM
…then tilt
forward
SIMM
socket
Figure 6.15 The notch on this SIMM is shown on the left side. Insert the SIMM at a 45° angle and then
tilt it forward until the locking clips snap into place.
After installing the memory and putting the system back together, you might have to run the BIOS
Setup and resave with the new amount of memory being reported. Most newer systems automatically
detect the new amount of memory and reconfigure the BIOS Setup settings for you. Most newer systems also don’t require setting any jumpers or switches on the motherboard to configure them for
your new memory.
After configuring your system to work properly with the additional memory, you might want to run a
memory-diagnostics program to ensure that the new memory works properly.
Hole in
SIMM
Tab in
socket fits
hole in
SIMM
Locking
clip
SIMM socket
is molded to
fit notch
Notch
in SIMM
Figure 6.16 This figure shows the SIMM inserted in the socket with the notch aligned, the locking clip
locked, and the hole in the SIMM aligned with the tab in the socket.
358
Chapter 6
Memory
Troubleshooting Memory
Memory problems can be difficult to troubleshoot. For one thing, computer memory is still mysterious to people because it is a kind of “virtual” thing that can be hard to grasp. The other difficulty is
that memory problems can be intermittent and often look like problems with other areas of the system, even software. This section shows simple troubleshooting steps you can perform if you suspect
you are having a memory problem.
To troubleshoot memory, you first need some memory-diagnostics testing programs. You already have
several and might not know it. Every motherboard BIOS has a memory diagnostic in the POST that
runs when you first turn on the system. In most cases, you also receive a memory diagnostic on a
utility disk that came with your system. Many commercial diagnostics programs are on the market,
and almost all of them include memory tests.
When the POST runs, it not only tests memory, but it also counts it. The count is compared to the
amount counted the last time BIOS Setup was run; if it is different, an error message is issued. As the
POST runs, it writes a pattern of data to all the memory locations in the system and reads that pattern
back to verify that the memory works. If any failure is detected, you see or hear a message. Audio
messages (beeping) are used for critical or “fatal” errors that occur in areas important for the system’s
operation. If the system can access enough memory to at least allow video to function, you see error
messages instead of hearing beep codes.
See the disc accompanying this book for detailed listings of the BIOS beep and other error codes,
which are specific to the type of BIOS you have. These BIOS codes are found in the Technical
Reference section of the disc in printable PDF for your convenience. For example, most Intel motherboards use the Phoenix BIOS. Several beep codes are used in that BIOS to indicate fatal memory
errors.
If your system makes it through the POST with no memory error indications, there might not be a
hardware memory problem, or the POST might not be able to detect the problem. Intermittent memory errors are often not detected during the POST, and other subtle hardware defects can be hard for
the POST to catch. The POST is designed to run quickly, so the testing is not nearly as thorough as it
could be. That is why you often have to boot from a standalone diagnostic disk and run a true hardware diagnostic to do more extensive memory testing. You can run these types of tests continuously
and leave them running for days if necessary to hunt down an elusive intermittent defect.
Fortunately, several excellent memory test programs are available for free download. Here are some I
recommend:
■ Microsoft Windows Memory Diagnostic—http://oca.microsoft.com/en/windiag.asp
■ Memtest86—www.memtest86.com
Not only are these free, but they are available in a bootable CD format, which means you don’t have
to install software on the system you are testing. The bootable format is actually required in a way
because Windows and other OSs prevent the direct access to memory and other hardware required for
testing. These programs use algorithms that write different types of patterns to all the memory in the
system, testing every bit to ensure it reads and writes properly. They also turn off the processor cache
to ensure direct testing of the modules and not the cache. Some, such as Windows Memory
Diagnostic, even indicate the module that is failing should you encounter an error. Note that a version of the Windows Memory Diagnostic is also included with Windows 7/Vista. It can be found as
part of the Administrative tools, as well as on the bootable install DVDs under the Repair option.
Troubleshooting Memory
Chapter 6
359
One problem with software-based memory diagnostics is that they do only pass/fail type testing; that
is, all they can do is write patterns to memory and read them back. They can’t determine how close
the memory is to failing—only whether it worked. For the highest level of testing, the best thing to
have is a dedicated memory test machine, usually called a module tester. These devices enable you to
insert a module and test it thoroughly at a variety of speeds, voltages, and timings to let you know for
certain whether the memory is good or bad. Versions of these testers are available to handle all types
of memory modules. I have defective modules, for example, that work in some systems (slower ones)
but not others. What I mean is that the same memory test program fails the module in one machine
but passes it in another. In the module tester, it is always identified as bad right down to the individual bit, and it even tells me the actual speed of the device, not just its rating. Companies that offer
memory module testers include Tanisys (www.tanisys.com), CST (www.simmtester.com), and
Innoventions (www.memorytest.com). They can be expensive, but for a high volume system builder
or repair shop, using one of these module testers can save time and money in the long run.
After your OS is running, memory errors can still occur, typically identified by error messages you
might receive. Here are the most common:
■ Parity errors—The parity-checking circuitry on the motherboard has detected a change in
memory since the data was originally stored. (See the “How Parity Checking Works” section earlier in this chapter.)
■ General or global protection faults—A general-purpose error indicating that a program
has been corrupted in memory, usually resulting in immediate termination of the application.
This can also be caused by buggy or faulty programs.
■ Fatal exception errors—Error codes returned by a program when an illegal instruction has
been encountered, invalid data or code has been accessed, or the privilege level of an operation
is invalid.
■ Divide error—A general-purpose error indicating that a division by 0 was attempted or the
result of an operation does not fit in the destination register.
If you are encountering these errors, they could be caused by defective or improperly configured
memory, but they can also be caused by software bugs (especially drivers), bad power supplies, static
discharges, close proximity radio transmitters, timing problems, and more.
If you suspect the problems are caused by memory, there are ways to test the memory to determine
whether that is the problem. Most of this testing involves running one or more memory test programs.
Another problem with software-based diagnostics is running memory tests with the system caches
enabled. This effectively invalidates memory testing because most systems have what is called a writeback cache. This means that data written to main memory is first written to the cache. Because a memory test program first writes data and then immediately reads it back, the data is read back from the
cache, not the main memory. It makes the memory test program run quickly, but all you tested was
the cache. The bottom line is that if you test memory with the cache enabled, you aren’t really writing to the SIMM/DIMMs, but only to the cache. Before you run any memory test programs, be sure
your processor/memory caches are disabled. Many older systems have options in the BIOS Setup to
turn off the caches. Current software-based memory test software such as the Windows Memory
Diagnostic and Memtest86 automatically turn off the caches on newer systems.
The following steps enable you to effectively test and troubleshoot your system RAM. Figure 6.17 provides a boiled-down procedure to help you step through the process quickly.
360
Chapter 6
Memory
If POST completes
with no errors,
basic functionality
has been tested.
Start up and
observe POST.
If errors are
encountered,
go to defect
isolation
procedures.
If count does
not match, go to
defect isolation
procedures.
See
defect
isolation
procedures.
Restart system,
enter BIOS (or CMOS)
Setup. Verify that
memory count is
equal to installed
amount.
While in the BIOS,
set all cache options
to disabled, save
settings, and boot to
a DOS-formatted
or self-booting system
CD or floppy disk.
If problems are
encountered,
go to
defect isolation
procedures.
Use a diagnostics
program to test
system base and
extended memory.
If no problems are
encountered, memory
has tested okay.
Reboot, enter BIOS
Setup, and re-enable.
Figure 6.17
Testing and troubleshooting memory.
First, let’s cover the memory-testing and troubleshooting procedures.
1. Power up the system and observe the POST. If the POST completes with no errors, basic memory functionality has been tested. If errors are encountered, go to the defect isolation procedures.
2. Restart the system and then enter your BIOS (or CMOS) Setup. In most systems, this is done by
pressing the Del or F2 key during the POST but before the boot process begins (see your system
or motherboard documentation for details). Once in BIOS Setup, verify that the memory count
is equal to the amount that has been installed. If the count does not match what has been
installed, go to the defect isolation procedures.
3. Find the BIOS Setup options for cache and then set all cache options to disabled if your system
supports this option. Figure 6.18 shows a typical Advanced BIOS Features menu with the cache
options highlighted. Save the settings and reboot to a bootable floppy or optical disc containing
the memory diagnostics program.
Memory Defect Isolation Procedures
Chapter 6
361
Tip
Some systems do not permit you to disable cache in BIOS setup. In such cases, I recommend using Windows Memory
Diagnostic and use its advanced options to disable cache before testing memory.
Cache options to disable in BIOS
Figure 6.18 The CPU Internal (L1) and External (L2) caches must be disabled in the system BIOS Setup
before you test system memory with most memory testing programs; otherwise, your test results will be
inaccurate.
4. Follow the instructions that came with your diagnostic program to have it test the system base
and extended memory. Most programs have a mode that enables them to loop the test—that is,
to run it continuously, which is great for finding intermittent problems. If the program encounters a memory error, proceed to the defect isolation procedures.
5. If no errors are encountered in the POST or in the more comprehensive memory diagnostic,
your memory has tested okay in hardware. Be sure at this point to reboot the system, enter the
BIOS Setup, and reenable the cache. The system will run very slowly until the cache is turned
back on.
6. If you are having memory problems yet the memory still tests okay, you might have a problem
undetectable by simple pass/fail testing, or your problems could be caused by software or one of
many other defects or problems in your system. You might want to bring the memory to a
module tester for a more accurate analysis. Some larger PC repair shops have such a tester. I
would also check the software (especially drivers, which might need updating), power supply,
and system environment for problems such as static, radio transmitters, and so forth.
Memory Defect Isolation Procedures
To use these steps, I am assuming you have identified an actual memory problem that the POST or
disk-based memory diagnostics have reported. If this is the case, see the following steps and Figure
6.19 for the steps to identify or isolate which module is causing the problem.
362
Chapter 6
Memory
Restart system and
enter BIOS Setup under
Advanced or Chipset
Setup, select memory
timing parameters, and
set all to BIOS
defaults. Save settings
and reboot. Retest.
Note which are
the slowest.
Problem solved
If problem was solved,
the improper BIOS
settings were the culprit.
Problem
not solved
Open your system case.
Identify the SIMMs/
DIMMs/RIMMs.
Determine the bank
arrangement. Remove
and reinstall all the
memory modules to
reseat them. Ensure that
they are the correct size,
speed, voltage, and