ebook img

The Physics of Computing PDF

261 Pages·2017·11.404 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview The Physics of Computing

The Physics of Computing Marilyn Wolf AMSTERDAM(cid:129)BOSTON(cid:129)HEIDELBERG(cid:129)LONDON NEWYORK(cid:129)OXFORD(cid:129)PARIS(cid:129)SANDIEGO SANFRANCISCO(cid:129)SINGAPORE(cid:129)SYDNEY(cid:129)TOKYO MorganKaufmannisanimprintofElsevier Preface This bookisanattempttotakeastepback andprovide alonger,morefoundational view of computer engineering. While a lot of software design proceeded from the theoreticaltotheexperimentaldthinkaboutsorting,forexampledcomputersystem design has long taken an example-driven approach. Studying particular computer systemswasusefulintheearlydayswhenwewerenotquitesurewhatmajorconcepts undergirded the design of these systems. But today we are much more capable of making generalized statements about many topics in computer engineering. Those foundational topics should formthe core ofour approach tocomputerengineering. Afoundationalapproachtodigitalsystemsisparticularlyimportantbecauseitis sohardtodaytotouchandseelogicinoperation.WhenIwasastudent,mostsystems were boardsmadeofSSIandMSI logic. Wehadnochoice buttodeal withcircuits andwaveforms.Today,allthatishiddeninsideachip;evenboardshavesmallerwires and are harder to analyze. Many students today think that 1s and 0s float through chipsdtheyhave noconception ofvoltagesand currents incomputers. This book does not ask students to design anything. Instead, we walk students through the principles that define the computer system design space. I like to think of the concepts inthis course as knobs and meters on a control panel. Changing the settingsofknobschangethevaluesonthemeters;thetwistofoneknobmaychange severalmeters.Consider,forexample,thecascadingeffectsofreducingMOSdielec- tric thickness: transistor transconductance changes, which in turn affects gate delay for the better andleakage current for theworse. Engineersdonotdesignsystemsinavacuum.Instead,theydesigntoasetofgoals orrequirements.Thetraditionalgoalforcomputerarchitectsisperformance,ormore preciselythroughput.Butcomputersareactuallydesignedwithseveralothergoalsin mind, with energy/power and reliability paramount. Performance, energy, and reli- abilityallhavetheirrootsinphysicalphenomenon.Andtheyareinextricablylinked by physics: improving one metric incurs costs inthe othermetrics. As in the rest of life, thereis no free lunch incomputer design. Computer engineering is a relatively young field. Introductory courses have concentrated on building and taxonomydbuild something, see the different ways to buildsomething. As the field matures, it is time tostart thinking about new ways to present the basics. The biologist E.O. Wilson said, “A field is initially defined by thequestionsitasksandeventuallydefinedbytheanswersitprovides.”After70years ofelectroniccomputerengineering,itistimetostartthinkingofthefieldintermsof answers. Ihavebeenthinkingaboutcomputerdesignforalongtime.Performancewasfor manyyearstheparamountmetricforcomputerdesign,althoughtheASICworldwas always interested in area as a proxy for cost. I started to think more seriously about other fundamental limits, particularly power, for the class on pervasive information systems taught by Perry Cook and myself. A new course at Georgia Tech gave me the impetusto take thistrain ofthoughttoits logical conclusion. ix x Preface Thiscoursetakesabroadviewofbothcomputerengineeringandphysics.Someof the most basic phenomena in computer architecture and even software designdthe memory wall, the power wall, the race to darkdare due to fundamental physics. But the physics required to understand these major computational issues is much more than classical Shockleysemiconductortheory. We need tounderstand thermo- dynamics, electrostatics, andgood deal of circuit theory. As I thought about this material, I came to regard Boltzmann’s constant is a key concept. k pops up everywhere: the diode equation, Arrhenius’s equation, tempera- ture, and the list goes on. Boltzmann’s constant links temperature and energy, so it shouldnot bea surprisethat it is sotightly woven intothe topics of thisbook. Some of the material in this book is unique to modern CMOSdleakage mecha- nisms. But some of the topics can be applied to a wide range of circuit and device technologies. Delay through logic networks, metastability, and the fundamentals of reliability are examples of foundational concepts that computer engineers should understand evenif CMOS is swept off the map by some other technology. Partsofthis bookwill probablystrike some readers ashopelesslysimplified and compressed.Ihopethatthosesamereaderswillfindotherpartsofthebookdenseand hardtofollow.Theonlywaytounderstandhowcomputersworkistounderstandthe relationships between an entire collection of topics that do not always seem at first glancetoberelated.Weknowthoseknobsonthedesignprocessarelinkedbecause a change to one parameter that we think will help our design often results in side effects that negate much of the benefit we sought. I worked very hard to find the simplest possible description for a lot of concepts. Hopefully they are presented in awaythatgivesabasicunderstanding.Thereaderwhoisinterestedinadeeperunder- standing of one of these topics can pursue each one in more depth. But the singular goalofthisbookistoprovideaunifieddescriptionofthefundamentalphysicalprin- ciples ofcomputingmachines. Bothcomputerengineersandelectricalengineersarepotentialaudiencesforthis book. These two groups come to the material with very different backgrounds. Computer engineers often have limited experience in circuit design. While they may have some knowledge of ideas like Kirchhoff’s laws, they usually are not extremely comfortable with circuit analysis. Electrical engineers may not always have a detailed understanding of computer architecture. One of my challenges in writingthisbookwastoprovideenoughbackgroundforeachaudiencewithoutover- loadingthem. I have mentioned a number of historical discoveries and inventions for several reasons.First,goingthroughthesequenceofideasthatledtotoday’sdesignpractices helpsbothtoremindusthatthereisoftenmorethanonewaytodothingsandtohigh- light the true advantages of the methods that were settled upon by history. Second, semiconductor physics and computer engineering have produced some of the most importantinventionsofthe20thcentury.Theseinventionswillbeusedforcenturies to come. We should not let ourselves become so accustomed to these ideas that we lose all capacity tomarvelat them and at their inventors. Preface xi RichardFeynman’sLecturesonComputingwasanearlyinspirationforthisclass, butmuchofthatbookisdevotedtoquantumcomputing.Thatbookdoesnotconsider many topics in traditional computing. For example, metastability is a fundamental physicalconceptincomputersystemdesignthatFeynmandoesnottouch.Wesalute himforhisearlyrecognitionofthephysicalnatureofcomputing.Wealsothankhim fortheLecturesonPhysics,whichprovidedaclear,concisewaytothinkaboutmany of the basic physical phenomena that underlie computing. Severaltipsofthehatareinorder.MyfriendandcolleagueSaibalMukhopodhyay proposed the Physical Foundations of Computer Engineering course and provided many concrete suggestions, particularly on reliability and leakage. My thanks go outtohimforhispatienceandinsight.DaveCoelhograciouslyprovidedinformation on his power distribution system. Kees Vissers invented thewelder current compar- ison. Alec Ishii advised me on clock distribution. Kevin Cao suggested how to make best use of the Predictive Technology Models. Bruce Jacob gave insight into DRAM.SriniDevadas’ssuggestionsledtotheadvancedtopicsappendix.TomConte providedthecorememoryandPentiumProaswellasmanydiscussionsonthepresent state and future of computing. Thanks to the reviewers for their helpful comments. And many thanks to my editor Nate McFadden for guiding this book through the long development and production process. Any faults in this book can be traced entirelyand solely tome. Marilyn Wolf Atlanta, GA The Physics of Computing 1st Edition Author: Marilyn Wolf eBook ISBN: 9780128096161 Paperback ISBN: 9780128093818 Published Date: 2nd November 2016 Page Count: 276 Table of Contents Preface Chapter 1. Electronic Computers 1.1. Introduction 1.2. The long road to computers 1.3. Computer system metrics 1.4. A tour of this book 1.5. Synthesis Chapter 2. Transistors and Integrated Circuits 2.1. Introduction 2.2. Electron devices and electronic circuits 2.3. Physics of materials 2.4. Solid-state devices 2.5. Integrated circuits 2.6. Synthesis Chapter 3. Logic Gates 3.1. Introduction 3.2. The CMOS inverter 3.3. Static gate characteristics 3.4. Delay 3.5. Power and energy 3.6. Scaling theory 3.7. Reliability 3.8. Synthesis Chapter 4. Sequential Machines 4.1. Introduction 4.2. Combinational logic 4.3. Interconnect 4.4. Sequential machines 4.5. Synthesis Chapter 5. Processors and Systems 5.1. Introduction 5.2. System reliability 5.3. Processors 5.4. Memory 5.5. Mass storage 5.6. System power consumption 5.7. Heat transfer 5.8. Synthesis Chapter 6. Input and Output 6.1. Introduction 6.2. Displays 6.3. Image sensors 6.4. Touch sensors 6.5. Microphones 6.6. Accelerometers and inertial sensors 6.7. Synthesis Chapter 7. Emerging Technologies 7.1. Introduction 7.2. Carbon nanotubes 7.3. Quantum computers 7.4. Synthesis Appendix A. Useful Constants and Formulas Appendix B. Circuits Appendix C. Probability Appendix D. Advanced Topics References Index CHAPTER 1 Electronic Computers 1.1 Introduction Wetakecomputersforgranted.Butwhatisacomputer?Thecomputersweuseevery daycanbesummarizedasEBT:electronic,binary,Turingmachines.Thiscombina- tion oftechnologieshas allowed us toconquerproblems asdiverseas weather fore- casting, self-driving vehicles, andshopping. But the path that led us to today’s computers is long, and the EBTapproach to computing is surprisingly recent. Some of the history helps us understand why we build computers the way we do. Machines that could computedcalculate with numbers and perform other multistep tasksdwere originally conceived of and built withtheonlydevicesavailable,namelymechanicaldevices.Thesemechanicalcom- putershadseverelimitationsthatwereovercomeonlywiththecreationofelectronic devices. Wewill startwith abriefintroduction tothehistoryofcomputing machines. We willthendiscussthetheoryofcomputingthatwasdevelopedbasedonthisearlyexpe- rienceandwhichunderpinsourmodernideasofcomputers.Wethendiscussthemet- ricsweusetoevaluatecomputerdesignsandthetrade-offsbetweenthesegoalsthat physicsimposesonus.Wewillwrapupwithasurveyoftheremainderofthisbook. 1.2 The long road to computers Mechanicalcomputationwasinspiredinlargepartbytheneedtocontrolmachines. Peoplecouldnotreactquicklyandreliablyenoughtomaintaintheproperoperationof the equipment that appeared during the Industrial Revolution. Early mechanical computingdeviceswereanalogdtheyoperatedoncontinuousvalues.Butmachines that manipulated discrete values arrived surprisingly early. Eventually, theory was developed to describe these types of machines. One of those theories, the Turing machine, is the blueprint for theway inwhich we design computers today. 1 ThePhysicsofComputing.http://dx.doi.org/10.1016/B978-0-12-809381-8.00001-8 Copyright©2017ElsevierInc.Allrightsreserved. 2 CHAPTER 1 Electronic Computers 1.2.1 Mechanical computing devices Mechanical devices are much older than electrical devices. The subtlety required to makemachineswithcomplexbehaviorsshouldnotbeminimized.Thoseearlyinven- tors lacked hardened metals with which to make both the machines themselves and the tools required to shape the parts. They also lacked machine tools that we take for granted today. Even relatively simple machines needed to be controlled without humanintervention.Theinventionofthesteamenginespurreddemandforautomatic control ofmachines. Control Thegovernorisaprimeexampleofanearlyanalogcomputerbuiltfrommechan- icalcomponents.JamesWatt,theinventorofthefirstpracticalsteamengine,designed agovernortocontrolthespeedofthesteamengine,andsimilardeviceshadbeenused before.Hebuilthisgovernorin1788.Fig.1.1showstheoperationofWatt’sgovernor. The central shaft is rotated and is connected to the steam engine’s crankshaft. Two shaftsarehingedatthetop,withaweightattheendofeach.Asetofleversconnect theweightedshaftstotheengine’sthrottledthehighertheweights,themoreclosed the throttle. As the central shaft (and the engine’s crankshaft) rotates at higher speed, theweights lift themselves up due to centrifugal force, causing the engine to be throttled down. This mechanism implements negative feedback, a fundamental principle incontrol. Memory The Jacquard loom demonstrates an important concept, built with mechanical elements, which would be fundamental to our modern conception of computers: discrete memory. The loom, which was created in 1801, was invented to automate theweavingofcomplexpatternsinfabrics.Itcreatedahugemassmarketforsophis- ticatedfabricsthatpreviouslyhadbeenavailableonlytotheverywealthy.AsFig.1.2 shows,afabricconsistsofthreadsinbothx,knownastheweftthread,andthewarp threadiny.Theloom’sshuttlemovesthewarpthreadbackandforth.Liftingtheweft threadswithsmallhooksknownasbolushooksselectivelycausesthewarpthreadto beeitheraboveorbelowtheweft,selectingwhenitwillbevisible.Themorecomplex thepattern,themorecomplexthepatternsofthreadliftings;acomplexpatterncould lifthundredsofthreadsinadifferentpatternoneachrow.TheJacquardloomstored that complex pattern in punched card: a hole in the card allowed the bolus hook to throttle FIGURE1.1 Amechanicalgovernor. 1.2 The long road to computers 3 Warp Weft FIGURE1.2 OperationofaJacquardloom. descend and grab its weft thread; no hole meant that the weft was not lifted at that point. Not only could the card represent complex two-dimensional patterns, but the entire fabric’s patterncould bechanged simply by replacing the card. Babbagemachines Charles Babbage started work in 1822 on a difference machine to calculate numbers, specifically to compute polynomial functions. His work was motivated by the need to tables of functions that were more accurate than those compiled by hand calculation, an error-prone process. At the heart of this machine’s operation is the use of gears to count; this principlewas also used in the mechanical calculators thatwerewidelyusedwellintothesecondhalfofthe20thcentury.Thebasicprinciple behindmechanicalcountingissimpleandelegant,asshowninFig.1.3.Weuseashaft whosepositionrepresentsthevalueofadigitinthecountingsum.Wecanputaradial mark on the end of each shaft, then a dial around the shaft with a position for each digit; the mark points thevalue of the shaft’s digit. To builda two-digit counter, we connect the two shafts with gears. In this figure, the small gear has 5 teeth and the largegearhas15teeth,givingagearingratioof3:1.Threefullrotationsofthesmall gear produce one complete rotation of the largegear. The largegear remembers the number of teeth turned against it by the small gear up to a limit of 15. If we want to count in base 10, we gear the shafts at a 10:1 ratio: 10 rotations of the ones-digit 5 teeth 15 teeth FIGURE1.3 Usinggearstocount. 4 CHAPTER 1 Electronic Computers shaftresultinonerotationofthetens-digitshaft.Now,asweturntheones-digitshaft, we can count either up ordown. Babbage later went on to design an analytical engine that had the essential ele- ments of a modern computer but in mechanical form: input and output in the form of punched cards (and even a plotter for output); a program memory that could performwhatwenowknowasbranchesandloops.Butheneverfinishedtheconstruc- tion ofeither his difference machineor the analyticalengine. Hollerithpunchcards HermanHollerithcombinedtheideaofpunchedcardsasmemorywithcounting machines.Histabulatingmachine[Hol88]punchedholesatvariouslocationsinpaper cardstorecorddata;thecardsweresimilartothecardsoftheJacquardloom.Hethen scanneddecks ofcardsthrough electromechanical readers thatcountedthe numbers ofholesatvariouslocations.Hismachineswereusedtotabulatedataforthe1890US Census. His company became one of the building blocks for the modern IBM Corporation. Allthesemachinesweregreatadvances.TheJacquardloomandHollerith’stabu- lation machines provided huge increases in productivity for important tasks. But in retrospect, we can see some inherent problems with the use of mechanical devices forcomputingthatwouldultimatelylimithowfarthislineofdevelopmentcouldgo: (cid:129) Mechanical components are relativelyheavyand introducenoticeable friction. Both these properties mean that we haveto use substantialamounts ofenergyto makethemwork.Evenwithtoday’snanometer-scaleelectroniccomputers,energy is a prime enemy. (cid:129) Mechanical components are also subject towear, which introduces slop inthe connectionsbetween components.In the case of mechanical analogcomputers such as the Watt regulator,the accuracyof the control lawis limited bythe accuracy with which the mechanism can move. Inthe case ofdiscretesystems such as the Babbage engines, the mechanical componentshad tobe accurately aligned, andthe complex organization ofthesedevices meantthat tolerances in one partof the machineaffect the tolerances elsewhere. 1.2.2 Theories of computing Mathematicallogic Mathematicians spent several centuries developing mathematical notation and theories that freed them from the imprecision of written language. George Boole introducedanalgebraforlogicalexpressionsthatwenowknowasBooleanalgebra. He developed laws for basic logical operations such as AND, OR, and NOT. One simple way to describe a logical function is a truth table as shown in Fig. 1.4: the left-hand columns enumerate the possible arguments to the function, and the right- hand column gives the result for each. Boole’s mathematics is an algebra because its rules are analogous tothose oftraditional numerical arithmetic. Lambdacalculus Oneoftheimportantquestionsinmathematicsatthestartofthe20thcenturywas thenatureofcomputingdwhatfunctionscouldbecalculated?Mathematiciansdevel- opedmorethanoneanswertothisquestion.Theiranswersturnedouttobeimportant notjust for theorybutalso toshape the organization of computing machines.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.