CHAPTER 1 Introduction and Historical Review Though thy beginning as small,yet thy end will be very or,What's It All About? great JoB 8:7 Computers are amazing machines.They seem to be able to do anything.They fly aircraft and spaceships,and control power stations and hazardous chemical plants. Companies can no longer be run without them,and a growing number of sophisti- cated medical procedures cannot be performed in their absence.They serve lawyers and judges who seek judicial precedents in scores of documented trials,and help scientists in performing immensely complicated and involved mathematical com- putations.They route and control millions of telephone calls in networks that span continents.They execute tasks with enormous precision-from map reading and typesetting to graphical picture processing and integrated circuit design.They can relieve us of many boring chores,such as keeping a meticulous track of home ex- penses,and at the same time provide us with diverse entertainment such as computer games or computerized music.Moreover,the computers of today are hard at work helping design the even more powerful computers of tomorrow. It is all the more remarkable,therefore,that the digital computer-even the most modern and complex one-can be thought of as merely alarge collection of switches. These switches,or bits as they are called,are not"flipped"by the user,but are special, internal switches that are"flipped"by the computer itself.Each bit can be in one of two positions,or,to put it another way,can take on one of two values,0 or 1. Typically,the value of a bit is determined by some electronic characteristic,such as whether a certain point has a positive or a negative charge. A computer can directly execute only a small number of extremely trivial opera- tions,like flipping,zeroing,or testing a bit.Flipping changes the bit's value,zeroing makes sure that the bit ends up in the 0 position,and testing does one thing if the bit is already in the 0 position,and another if it is not(see Figure 1.1). Computers may differ in size (according to the number of available bits),in the types of elementary operations they can perform,in the speed in which these operations are performed,in the physical media that embody the bits and their internal organization,and,significantly,in their external environment.This last item means that two computers,which are otherwise similar in function,might seem veryP1: GIG PE002-01drv PE002-Harel PE002-Harel-v4.cls February 25, 2004 14:38 CHAPTER 1 Introduction and Historical Review or, What’s It All About? Though thy beginning was small, yet thy end will be very great JOB 8: 7 Computers are amazing machines. They seem to be able to do anything. They fly aircraft and spaceships, and control power stations and hazardous chemical plants. Companies can no longer be run without them, and a growing number of sophisticated medical procedures cannot be performed in their absence. They serve lawyers and judges who seek judicial precedents in scores of documented trials, and help scientists in performing immensely complicated and involved mathematical computations. They route and control millions of telephone calls in networks that span continents. They execute tasks with enormous precision—from map reading and typesetting to graphical picture processing and integrated circuit design. They can relieve us of many boring chores, such as keeping a meticulous track of home expenses, and at the same time provide us with diverse entertainment such as computer games or computerized music. Moreover, the computers of today are hard at work helping design the even more powerful computers of tomorrow. It is all the more remarkable, therefore, that the digital computer—even the most modern and complex one—can be thought of as merely a large collection of switches. These switches, or bits as they are called, are not “flipped” by the user, but are special, internal switches that are “flipped” by the computer itself. Each bit can be in one of two positions, or, to put it another way, can take on one of two values, 0 or 1. Typically, the value of a bit is determined by some electronic characteristic, such as whether a certain point has a positive or a negative charge. A computer can directly execute only a small number of extremely trivial operations, like flipping, zeroing, or testing a bit. Flipping changes the bit’s value, zeroing makes sure that the bit ends up in the 0 position, and testing does one thing if the bit is already in the 0 position, and another if it is not (see Figure 1.1). Computers may differ in size (according to the number of available bits), in the types of elementary operations they can perform, in the speed in which these operations are performed, in the physical media that embody the bits and their internal organization, and, significantly, in their external environment. This last item means that two computers, which are otherwise similar in function, might seem very 3