Anda di halaman 1dari 25

THE INTEL MICROPROCESSORS

QnQ~/80QQ 8n18~/Qn188 Q02Q~ Q0386


uuuu UU, U I UI UU I ,U UU, UU ,
80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Interfa
cing
Fourth Edition
BARRY B. BREY
DeVry Institute of Technology

Prentice-Hall International, Inc.


ISBN 0-13-802745-5
Cover photo: Ted Horowitz!The Stock Market Editor: Charles E. Stewart, Jr. Produ
ction Coordination: Tim Flem, Custom Editorial Productions, Inc. Cover Designer:
Brian Deep Production Manager: Deidra M. Schwartz Marketing Manager: Debbie Yam
ell
This book was set in Times Roman by Custom Editorial Productions, Inc. and was p
rinted and bound by Courier/Kendallville, Inc. The cover was printed by Phoenix
Color Corp.
© 1997 by Prentice-Hall, Inc.
Simon & Schuster/A Viacom Company
Upper Saddle River, New Jersey 07458
All rights reserved. No part of this book may be reproduced, in any form or by a
ny means, without permission in writing from the publisher.
This edition may be sold only in those countries to which it is consigned by Pre
ntice-Hall International. It is not to be re-exported, and it is not for sale in
the U.S.A., Mexico, or Canada.
Printed in the United States of America
10 9 8 7 6 5 4 3 2
ISBN 0-13-802745-5
Prentice-Hall International (UK) Limited, London Prentice-Hall of Australia Pty.
Limited, Sydney Prentice-Hall Canada Inc., Toronto Prentice-Hall Hispanoamerica
na, S. A., Mexico Prentice-Hall of India Private Limited, New Delhi Prentice-Hal
l of Japan, Inc., Tokyo Simon & Schuster Asia Pte. Ltd., Singapore Editora Prent
ice-Hall do Brasil, Ltda., Rio de Janeiro Prentice-Hall, Inc., Upper Saddle Rive
r, New Jersey
This text is dedicated to the memory ofmy father,
Wilmer A. Brey,
who worked for over 40 years in the steel industry
to provide America with the raw materials
to become a great industrial power.

PREFACE
This fourth edition text is written for the student in a course of study th~t re
quires a thorough knowledge of programming and interfacing of the Intel family o
f microprocessors. It is a very practical reference text for anyone interested i
n all programming and interfacing aspects of this important microprocessor famil
y. Today, anyone functioning or striving to function in a field of study that us
es computers must understand assembly language programming and interfacing. Inte
l microprocessors have gained wide applications in many areas of electronics, co
mmunications, control systems, and particularly in desk1:Op computer systems.
ORGANIZATION AND COVERAGE
In order to cultivate a comprehensive approach to learning, each chapter of the
text begins with a set of. objec:tives that briefly define the contents of the c
hapter. This is followed by the body of the chapter, which includes many program
ming applications that illustrate the main topics of the chapter. At the end of
each chapter, a numerical summary, which doubles as a study guide, reviews the in
formation presented in the chapter. Finally, questions and problems are provided
to promote practice and mental exercise with the concepts presented in the chap
ter.
This text contains many example programs, using the Microsoft MACRO assembler pr
ogram, to provide an opportunity to learn how to program the Intel family of micr
oprocessors. Operation of the programming environment includes the linker, libra
ry, macros, DOS function, and BIOS functions.
Also provided is a thorough description of each family member, memory systems, a
nd various I/O systems that include disk memory, ADC and DAC, 16550 UART, PIAs, t
imers, keyboard/display controllers, arithmetic coprocessors, and video display s
ystems. Also discussed are the personal computer system buses (ISA, VESA, and PC
I). Through these systems, a practical approach to microprocessor interfacing is
learned.
APPROACH
Because the Intel family of microprocessors is quite diverse, this text initiall
y concentrates on real mode programming, which is compatible with all versions o
f the Intel family of microprocessors. Instructions for each family member, which
includes the 80386, 80486, Pentium, and
viii PREFACE
Pentium Pro processors are compared and contrasted with the 8086/8088 microproce
ssors. This entire series of microprocessors is very similar, which allows more
advanced versions to be learned once the basic 8086/8088 microprocessors are und
erstood. Please note that the 8086/8088 are still used in controllers, along wit
h their updated counterparts, the 80186/80188 and 80386EX embedded controllers.
In addition to fully explaining the programming and operation of the microproces
sor, this text also explains the programming and operation of the numeric coproc
essor (8087/802871 80387/80486/80487IPentiumlPentium Pro). The numeric coprocess
or functions in a system to provide access to floating-point calculations that a
re important in applications such as control systems, video graphics, and comput
er-aided design (CAD). The numeric coprocessor allows a program to access comple
x arithmetic operations that are otherwise difticult to achieve with normal micr
oprocessor programming.
Also described are the pin-outs and functions of the 8086-80486 and PentiumlPent
ium Pro microprocessors. Interfacing is first developed using the 8088/8086 with
some of the more common peripheral components. After learning the basics, a mor
e advanced emphasis is placed on the 80186/80188, 80386, 80486, Pentium, and Pen
tium Pro microprocessors. Because of its similarity to the 8086 and 80386, cover
age of the 80286 is minimized so that the 80386, 80486, Pentium, and Pentium Pro
can be covered in complete detail.
By studying the operation and programming of the microprocessor and numeric copro
cessor, as well as the interfacing of all family members, you will be provided w
ith a working and practical background on the Intel family of microprocessors. O
n completion of a course of study based on this text, you should be able to:

Develop control software to control an application interface to the 8086/8088, 8
0186/80188, 80286, 80386, 80486, Pentium, and Pentium Pro microprocessors. Gener
ally, the software developed will function on all versions of the microprocessor
. This software also includes DOS-based applicatiQns.

P[9gram.JJ,§ingJ2QS function cal.~.~o control the keyboard, video display s~!~m, a
nd disk memory in assem~.!x language.

Use the BIOS functio_~~J!9l the keyboard, display, and various other components
in the computer system.

Develop software that uses macro sequences, procedures, conditional assembly dir
ectives, and flow control assembler di~~~ti~;;' ~.. ~~>'. ~•.'.

Develop software that uses interrupt hooks and hot-keys to gain access to termin
ate,and slay resident software.

Program the numeric coprQf~sor (80287/80387/80486/804871PentiumlPentium
Pro) to solve complex equations.

Explain the differences between the ~!L!Tl£!~!~e.rs and highlight the features
of each member.

Describe and use real and .Qfotected mod,e operation of the 80286, 80386, 80486,
Pentium, and Pentium Pro microprocessors.

Interface memory and I/O systcms to the microprocessor.

Provide a detailed and comprehcnsive comparison of all famil):: I~_ers, thcir so
ftware, and hardware interface.

Explain the operation of ~.~!!~Ly.!~e.<:l.Jystequ;. ry Interface small systems t
o the ISA, VESA local, an~R.9£us in a personal computer system.

PREFACE
CONTENT OVERVIEW
Chapter I introduces the Intel family of microprocessors, with an emphasis on th
e !!Iicropro~~~()r-based computer system. This first chapter servcs to introduce
the microprocessor, its history, its operation, and the methods used to store da
ta in a micn processor-based system. In this edition, we also include a coverage
of number systems for those who are unaware of them~'Chapter 2 explores the prog
ramming model of the microprocessor and system architecture. Both real and prote
cted mode operation are explained in this second introduc
tory chapter. ..
Once an understanding of the basic machine is grasped, Chapters 3-6 ~xplain how
each instruction functions with the ~ntel family of microprocessor§. As instruction
s are explained, simple applications are presented to illustrate their operation
~nd to develop basic programming concepts. After the basis for programming is d
eveloped,'"Chapter 7 provides applications using the l!s_~embler program. These
applications include programming using DOS-and BIOS function calls and the mo~se
function calls. l!isk files are explained as well as keyboard and video operatio
n on a personal computer system. This chapter provides the tools required to dev
elop virtually any program on a personal computer system. It also introduces the
concept of interrupt hooks
and !lOt-keys. ~J!~Ptt::.f.~ introduces the ~()86/8088 family as a basis for lea
rning the .Qasic memory and YQ interfacing concepts that follow in later chapter
s. This chapter shows the buffered system as well as the system timing.
" Chapter 9 provides c.9_ll1plete detail on memory interface using both integrat
ed decoders and programmable logic devices. Parity is illustrated as well as dyn
amic memory systems. The 8-, 16-, 32-, and 64-bit memory systems are provided so
that the 8086-80486 and Pentiuml
~!lti~m Pro microprocessors ~anbe interfaced to memory. ?, Chapter 10 provides a
detailed look at basic 110 interfacing by discussing PIAs, timers, keyboard/dis
play interfaces, 16550 UART, and ADCIDAC. It also describes the interface of bot
h DC and stepper motors.
Once these basic liD components and their interface to the microprocessor is und
erstood, Chapters 11 and 12 provide detail on advanced liD techniques that inclu
de interrupts and direct memory access (DMA). Applications include a printer int
erface, real-time clock, disk memory, and video systems.
Chapter 13 details the operation and programming for the 8087-Pentium Pro family
of arithmetic coprocessors. Today, few applications function efficiently withou
t the power of the arithmetic coprocessor. Remember that all Intel microprocesso
rs since the 80486 contain a coprocessor.
Chapter 14 shows how tginterface small systems to the per~onal computer through
the use of the ISA, VESA, and PCI bus interfaces. This chapter, new to this edit
ion, provides a launchi~g-point f~r the many cards being designed for use in the
personal computer embedded in control systems in the industry.
Chapters 15 and 16 provide detail on the advanced 80186/80188-80486 microprocess
ors. In these chapters, we explore the differences between these microprocessors
and the 808618088, as well as their enhancements and features. Cache memory, as
well as interleaved and burst memory, are described with the 80386 and S0486 mi
croprocessors. Also described are memory management and memory paging.
Chapter 17 details the Pentium and Pentium Pro microprocessors. These new microp
rocessors are based upon the original 8086/8088 and should carry Intel well into
the next century.
Four appendixes are included to enhance the application of the text:
1. Appendix A includes a complete listing of the DOS INT 21 H function call
s. This appendix also details the use of the assembler program and many of the B
IOS function calls, including BIOS function call INT lOH.
PREFACE
2.
Appendix B gives a complete listing of all 8086-Pentium Pro instructions, includ
ing many example instructions and machine coding in hexadecimal, as well as clock
timing information.
3.
Appendix C provides a compact list of all the instructions that change the flag
bits.
4.
Appendix D provides answers for the even-numbered questions and problems from th
e text.

ACKNOWLEDGMENTS
I would like to acknowledge the reviewers for this edition: John Paul Froehlich,
University of Hartford, and Jeffrey B. Weaver, Pennsylvania College of Technolo
gy.
STAY IN TOUCH
You can stay in touch with me through the Internet. My Internet site contains in
formation about all of my textbooks and many important links that are specific t
o the personal computer, microprocessors, hardware, and software. Also available
is a weekly lesson that details many of the aspects of the personal computer. My
Internet address is http://users1.ee.netlbrey/
LAB SUPPORT
A lab manual, Instructor's Manual to Accompany The Intel Microprocessors: 808618
088, 80186, 80286, 80386, 80486, Pentium, and Pentium Pro Microprocessors: Archi
tecture, Programming, and Inteifacing (ISBN: O-13-262981-X), is available from Pr
entice Hall to support the programming portion of this text.

CONTENTS
1 INTRODUCTION TO THE MICROPROCESSOR AND COMPUTER 1
Introduction Chapter Objectives 1 () 1-1 A Historical Background 2 '" 1-2 The Mi
croprocessor-Based Personal Computer System 11 1-3 Number Systems 25 (J 1-4 Comp
uter Data Formats 31 1-5 Summary 39 1-6 Questions and Problems 41
2 THE MICROPROCESSOR AND ITS ARCHITECTURE 45
Introduction 45
Chapter Objectives 45
f 2-1 Internal Microprocessor Architecture 45
t? 2-2 Real Mode Memory Addressing 51
2-3 Protected Mode Memory Addressing 25
2-4 Memory Paging 60
2-5 Summary 64
2-6 Questions and Problems 65
3 ADDRESSING MODES 68
Introduction 68
Chapter Objectives 68
3-1 Data-Addressing Modes 69
3-2 Program Memory-Addressing Modes 90
3-3 Stack Memory-Addressing Modes 92
3-4 Summary 95
3-5 Questions and Problems 98
xii CONTENTS 4 DATA MOVEMENT INSTRUCTIONS 101
Introduction 10 1 Chapter Objectives 101 4-1 MOV Revisited 102 4-2 PUSHIPOP 110
4-3 Load-Effective Address 115 4-4 String Data Transfers 118 4-5 Miscellaneous D
ata Transfer Instructions 124 4-6 Segment Override Prefix 129 4-7 Assembler Deta
il 130 4-8 Summary 139 4-9 Questions and Problems 141
5 ARITHMETIC AND LOGIC INSTRUCTIONS
Introduction 144 Chapter Objectives 144 5-1 Addition, Subtraction, and Compariso
n 144 5-2 Multiplication and Division 155 5-3 BCD and ASCII Arithmetic 160 5-4 B
asic Logic Instructions 163 5-5 Shift and Rotate 169 5-6 String Comparisons 173
5-7 Summary 175 5-8 Questions and Problems 177
6 PROGRAM CONTROL INSTRUCTIONS
Introduction 180 Chapter Objectives 180 6-1 The Jump Group 180 6-2 Controlling t
he Flow of an Assembly Language Program 190 6-3 Procedures 197 6-4 Introduction
to Interrupts 203 6-5 Machine Control and Miscellaneous Instructions 206 6-6 Sum
mary 210 6-7 Questions and Problems 212
7 PROGRAMMING THE MICROPROCESSOR
Introduction 215 Chapter Objectives 21:'
7-1 Modular Programming 216
7-2 Using the Keyboard and Video Display 229
7-3 Data Conversions 243
144
180
215
CONTENTS xiii
7-4 Disk Files 253
7-5 Example Programs 263
7-6 Interrupt Hooks 270
7-7 Summary 281
7-8 Questions and Problems 282
8 8086/8088 HARDWARE SPECIFICATIONS 285
Introduction 285
Chapter Objectives 285
8-1 Pin-Outs and the Pin Function 285
8-2 Clock Generator (8284A) 291
8-3 Bus Buffering and Latching 294
8-4 Bus Timing 299
8-5 Ready and the Wait State 304
8-6 Minimum Mode Versus Maximum Mode 307
8-7 Summary 309
8-8 Questions and Problems 310
9 MEMORY INTERFACE 312
Introduction 312 Chapter Objectives 312 9-1 Memory Devices 312 9-2 Address Decod
ing 324 9-3 8088 and 80188 (8-Bit) Memory Interface 332 9-4 8086,80186,80286, an
d 80386SX (16-Bit) Memory Interface 340 9-5 80386DX and 80486 (32-Bit) Memory In
terface 347 9-6 Pentium and Pentium Pro (64-Bit) Memory Interface 350 9-7 Dynami
c RAM 353 9-8 Summary 358 9-9 Questions and Problems 359
10 BASIC 110 INTERFACE 362
Introduction 362 Chapter Objectives 362 10-1 Introduction to I/O Interface 362 1
0-2 I/O Port Address Decoding 369 10-3 The Programmable Peripheral Interface 375
10-4 The 8279 Programmable Keyboard/Display Interface 394 10-5 8254 Programmabl
e Interval Timer 402 10-6 16550 Programmable Communications Interface 412 10-7 A
nalog-to-Digital (ADC) and Digital-to-Analog (DAC) Converters 419 10-8 Summary 4
26 10-9 Questions and Problems 427
xiv CONTENTS
11 INTERRUPTS 430
11-1 11-2 11-3 11-4 11-5 11-6 11-7 Introduction 430
Chapter Objectives 430
Basic Interrupt Processing 430
Hardware Interrupts 439
Expanding the Interrupt Structure 445
8259A Programmable Interrupt ControlIer 448
Real-Time Clock 462
Summary 464
Questions and Problems 465
12
13
14
DIRECT MEMORY ACCESS AND DMA-CONTROLLED 1/0
12-1 12-2 12-3 12-4 12-5 12-6 12-7 Introduction 467 Chapter Objectives 467 Basic
DMA Operation 467 The 8237 DMA Controller 469 Shared-Bus Operation 483 Disk Mem
ory Systems 500 Video Displays 508 Summary 515 Questions and Problems 515
THE ARITHMETIC COPROCESSOR
13-1 13-2 13-3 13-4 13-5 13-6 Introduction 517 Chapter Objectives 517 Data Forma
ts for the Arithmetic Coprocessor 518 The 80X87 Architecture 522 Instruction Set
527 Programming with the Arithmetic Coprocessor 551 Summary 558 Questions and P
roblems 559
BUS INTERFACE
Introduction 562 Chapter Objectives 562 14-1 The ISA Bus 562 14-2 The Extended I
SA (EISA) and VESA Loc;':1 Buses 569 14-3 The Peripheral Component Interconnect
(PCl) Bus 573 14-4 Summary 582 14-5 Questions and Problems 582
CONTENTS xv
15 THE 80186,80188, AND 80286 MICROPROCESSORS 584
15-1 15-2 15-3 15-4 15-5 15-6 Introduction 584
Chapter Objectives 584
80186/80188 Arcnitecture 584
Programming the 80186/80188 Enhancements 594
80C188EB Example Interface 612
Introduction to the 80286 616
Summary 619
Questions and Problems 620
16 THE 80386 AND 80486 MICROPROCESSORS 622
16-1 16-2 16-3 16-4 16-5 16-6 16-7 16-8 16-9 Introduction 622 Chapter Objectives
622 Introduction to the 80386 Microprocessor 623 Special 80386 Registers 636 80
386 Memory Management 639 Moving to Protected Mode 647 Virtual 8086 Mode 659 The
Memory Paging Mechanism 660 Introduction to the 80486 Microprocessor 665 Summar
y 675 Questions and Problems 676
17 THE PENTIUM AND PENTIUM PRO MICROPROCESSORS 679
Introduction 679 Chapter Objectives 679 17-1 Introduction to the Pentium Micropr
ocessor 680 17-2 Special Pentium Registers 689 17-3 Pentium Memory Management 69
1 17-4 New Pentium Instructions 693 17-5 Introduction to the Pentium Pro Micropr
ocessor 696 17-6 Special Pentium Pro Features 705 17-7 Summary 706 17-8 Question
s and Problems 707
APPENDIXES 709
A The Assembler, Disk Operating System, Basic I/O System, Mouse, and DPMI Memory
Manager 709 B Instruction Set Summary 783 C Flag-Bit Changes 871 D Answers to S
elected Even-Numbered Questions and Problems 873
INDEX 901
f

THE INTEL MICROPROCESSORS


8086/8088,80186/80188,80286,80386,
80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Interfa
cing
Fourth Edition
CHAPTER 1
Introduction to the Microprocessor and Computer
INTRODUCTION
This chapter provides an overview of the Intel family of microprocessors. Includ
ed is a discussion of the history of computers and the function of the microproc
essor in the microprocessor-based computer system. Also introduced are the terms
and jargon of the computer field so that computerese is understood and used when
discussing microprocessors and computers.
The block diagram, and a description of the function of each block, detail the o
peration of a computer system. The chapter also shows how the memory and input/o
utput system of the personal computer function. Finally, the way that data are s
tored in the memory is provided so that each data type can be used as software is
developed. Numeric data are stored as integers, floating-point, and binary-code
d decimal (BCD); alphanumeric data are stored using the ASCII (American Standard
Code for Information Interchange) code.
CHAPTER OBJECTIVES
Upon completion of this chapter, you will be able to:
1.
Use appropriate computer terminology including bit, byte, data, real memory syst
em, expanded memory system (EMS), extended memory system (XMS), DOS, BIOS, 110, a
nd so forth.
2.
Briefly detail the history of the computer and list applications performed by th
e computer.
3.
Provide an overview of the various 80X86 and Pentium/Pentium Pro family members.

4.
Draw the block diagram of a computer system and explain the purpose of each bloc
k.
5.
Describe the function of the microprocessor and detail its basic operation.
6.
Define the contents of the memory system in the personal computer.
7.
Convert between binary, decimal, and hexadecimal numbers.
8.
Differentiate and represent numeric and alphabetic information as integers, floa
ting-point, BCD, and ASCII data.

2
1-1
CHAPTER 1 INTRODUCTION TO THE MICROPROCESSOR AND COMPUTER
A HISTORICAL BACKGROUND
This first section outlines the historical events leading to the development of
the microprocessor and, specifically, the extremely powerful and current 80X861
and Pentium and Pentium Pro2 microprocessors. Although a study of history is not
essential to understand the microprocessor, it provides a historical perspective
on the fast-paced evolution of the computer.
The Mechanical Age
The idea of a computing system is not new-it existed long before modem electrica
l and elec
tronic devices were invented. The idea of calculating with a machine dates to be
fore 500 B.c.
when the Babylonians invented the abacus, the first mechanical calculator. The a
bacus, which
uses strings of beads to perform calculations, was used by Babylonian priests to
keep track of
their vast storehouses of grain. The abacus, which was used extensively and is s
till in use today,
was not improved until 1642, when Blaise Pascal, the mathematician, invented a c
alculator con
structed of gears and wheels. Each gear contained 10 teeth that, when moved one
complete rev
olution, advanced a second gear one place. This is the same principle employed i
n a car's
odometer mechanism and is the basis of all mechanical calculators. Incidentally,
the PASCAL
programming language is named in honor of Blaise Pascal for his pioneering work
in mathe
matics and with the mechanical calculator.
The arrival of the first practical geared, mechanical machines used to compute i
nformation automatically dates to the early 1800s. This is before humans invente
d the light bulb or before much was known about electricity. In this dawn of the
computer age, humans dreamed of mechanical machines that could compute numerical
facts with a program-not merely calculate facts as with a calculator.
One early pioneer of mechanical computing machinery was Charles Babbage, who was
aided by Augusta Ada Byron, the Countess of Lovelace. Babbage was commissioned
in 1823 by the Royal Astronomical Society of Great Britain to produce a programm
able calculating machine. This machine was to generate navigational tables for th
e Royal Navy. He accepted the challenge and began to create what he called his A
nalytical Engine. This engine was a mechanical computer that stored 1,000 20-digi
t decimal numbers and a variable program that could modify the function of the m
achine so it could perform various calculating tasks. Input to his engine was thr
ough punched cards, much as computers in the 1950s and 1960s used punched cards.
It is assumed that he obtained the idea of using punched cards from Joseph Jacq
uard, a Frenchman who used punched cards as input to a weaving machine he invent
ed in 1801, which is today called Jacquard's loom. Jacquard's loom used punched
cards to select intricate weaving patterns in the cloth that it produced. The pu
nched cards programmed the loom.
After many years of work, Babbage's dream began to fade when he realized that th
e machinists of his day were unable to create the mechanical parts needed to comp
lete his work. The Analytical Engine required more than 50,000 machined parts, w
hich could not be made with enough precision to allow his engine to function rel
iably.
The Electrical Age
The 1800s saw the advent of the electric motor (conceived by Michael Faraday); w
ith it came a multitude of motor-driven adding machines. all based on the mechan
ical calculator developed by Blaise Pascal. These electrically driven mechanical
calculators were common pieces of office
'80X86 is shorthand notation that embodies the 8086. 8088. 80186. 80188, 80286,
80386, and 80486 microprocessors. 2Pentium and Pentium Pro are registered tradem
arks of Intel Corporation and represent either the Pentium or the Pentium Pro pro
cessors in this text.
1-1 A HISTORICAL BACKGROUND 3
equipment until well into the early 1970s, when the small hand-held electronic c
alculator, first introduced by Bomar, appeared. Monroe was also a leading pionee
r of electronic calculators, but their machines were desktop, four-function mode
ls the size of cash registers.
In 1889, Herman Hollerith developed the punched card for storing data. Like Babb
age, he too apparently borrowed the idea of a punched card from Jacquard. He als
o develvped a mechanical machine-driven by one of the new electric motors-that co
unted, sorted, and collated information stored on punched cards. The idea of cal
culating by machinerj intrigued the United States government so much that Holler
ith was commissioned to use his punched-card system to store and tabulate inform
ation for the 1890 census.
In 1896, Hollerith formed a company called the Tabulating Machine Company. This
company developed a line of machines that used punched cards for tabulation. Afte
r a number of mergers, the Tabulating Machine Company was formed into the Intern
ational Business Machines Corporation, now referred to more commonly as IBM, Inc.
The punched cards used in computer systems are often called Hollerith cards in
honor of Herman Hollerith. The 12-bit code used on a punched card is called the
Hollerith code.
Mechanical machines driven by electric motors continued to dominate the informat
ion processing world until the advent of the first electronic calculating machin
e in 1941 by a German inventor named Konrad Zuse. His calculating computer, the
Z3, was used in aircraft and missile design during World War II for the German w
ar effort. Had Zuse been given adequate funding by the German government, he mos
t likely would have developed a much more powerful computer system. Zuse is today
finally receiving some belated honor for his pioneering work in the area of dig
ital electronics (which began in the 1930s) and for his Z3 computer system.
It has recently been discovered (through the declassification of British militar
y documents) that the first truly electronic computer was placed into operation
in 1943 to break secret German military codes. This first electronic computer sy
stem, which used vacuum tubes, was invented by Alan Turing. Turing called his ma
chine Colossus, most likely because of its size. A problem with Colossus was tha
t although its design allowed it to break secret German military codes generated
by the mechanical Enigma machine, it could not solve other problems. Colossus wa
s not programmable-it was a fixed-program computer system, which today is often
called a specialpurpose computer.
The first general-purpose programmable electronic computer system was developed
in 1946 at the University of Pennsylvania. This first modem computer was called
the ENIAC (Electronics Numerical Integrator and Calculator). The ENIAC was a hug
e machine containing over 17,000 vacuum tubes and over 500 miles of wires. This m
assive machine weighed over 30 tons, yet performed only about 100,000 operations
per second. The ENIAC thrust the world into the age of electronic computers. Th
e ENIAC was programmed by rewiring its circuits-a process that took many workers
several days to accomplish. The workers changed the electrical connections on pl
ug-boards that looked much like early telephone switchboards. Another problem wit
h the ENIAC was the life of the vacuum tube components, which required frequent m
aintenance.
Breakthroughs that followed were the development of the transistor in 1948 at Be
ll Labs, followed by the invention of the integrated circuit in 1958 by Jack Kilb
y ofTexas Instruments. The integrated circuit led to the development of digital i
ntegrated circuits (RTL or resistor-to-transistor logic) in the 1960s and the fi
rst microprocessor in 1971 at Intel Corporation. At this time Intel, and one of
its engineers, Marcian E. Hoff, developed the 4004 microprocessor-the device tha
t started the microprocessor revolution that continues today at an ever-accelera
ting pace.
Programming Advancements
Now that programmable machines had been developed, programs and programming lang
uages began to appear. As mentioned, the first truly programmable electronic com
puter system was programmed by rewiring its circuits. This proved too cumbersome
for practical application, so

Anda mungkin juga menyukai