Table Of ContentComputers as
Components
Principles of Embedded
Computing System Design
About the Author
WayneWolf isProfessor,Rhesea“Ray”P.FarmerDistinguishedChairinEmbedded
Computing,andGeorgiaResearchAllianceEminentScholarattheGeorgiaInstitute
ofTechnology. Before joining GeorgiaTech,he was with Princeton University and
AT&T Bell Laboratories in Murray Hill,New Jersey. He received his B.S.,M.S.,and
Ph.D. in electrical engineering from Stanford University. He is well known for his
research in the areas of hardware/software co-design,embedded computing,VLSI
CAD,and multimedia computing systems. He is a fellow of the IEEE andACM. He
co-foundedseveralconferencesinthearea,includingCODES,MPSoC,andEmbed-
ded SystemsWeek. He was founding co-editor-in-chief of DesignAutomation for
Embedded Systems and founding editor-in-chief ofACMTransactions on Embed-
dedComputingSystems.HehasreceivedtheASEEFrederickE.TermanAwardand
the IEEE Circuits and Society EducationAward. He is also co-series editor of the
MorganKaufmannSeriesinSystemsonSilicon.
Computers as
Components
Principles of Embedded
Computing System Design
Second Edition
Wayne Wolf
AMSTERDAM•BOSTON•HEIDELBERG•LONDON
NEWYORK•OXFORD•PARIS•SANDIEGO
SANFRANCISCO•SINGAPORE•SYDNEY•TOKYO
MorganKaufmannPublishersisanimprintofElsevier
MorganKaufmannPublishersisanimprintofElsevier.
30CorporateDrive,Suite400,Burlington,MA01803,USA
Thisbookisprintedonacid-freepaper. (cid:2)(cid:2)
Copyright©2008,WayneHendrixWolf.PublishedbyElsevierInc.Allrightsreserved.
CoverImages©iStockphoto.
Designationsusedbycompaniestodistinguishtheirproductsareoftenclaimedastrademarksor
registeredtrademarks.InallinstancesinwhichMorganKaufmannPublishersisawareofaclaim,the
productnamesappearininitialcapitalorallcapitalletters.Readers,however,shouldcontactthe
appropriatecompaniesformorecompleteinformationregardingtrademarksandregistration.
Nopartofthispublicationmaybereproduced,storedinaretrievalsystem,ortransmittedinanyform
orbyanymeans—electronic,mechanical,photocopying,scanning,orotherwise—withoutprior
writtenpermissionofthepublisher.
PermissionsmaybesoughtdirectlyfromElsevier’sScience&TechnologyRightsDepartmentinOxford,
UK:phone:(+44)1865843830,fax:(+44)1865853333,E-mail:permissions@elsevier.com.
YoumayalsocompleteyourrequestonlineviatheElsevierhomepage(http://elsevier.com),by
selecting“Support&Contact”then“CopyrightandPermission”andthen“ObtainingPermissions.”
LibraryofCongressCataloging-in-PublicationData
Wolf,WayneHendrix.
Computersascomponents:principlesofembeddedcomputingsystemdesign/byWayneWolf–2nded.
p.cm.
Includesbibliographicalreferencesandindex.
ISBN978-0-12-374397-8(pbk.:alk.paper)
1.Systemdesign.2.Embeddedcomputersystems.I.Title.
QA76.9.S88W642001
004.16–dc22
2008012300
ISBN:978-0-12-374397-8
ForinformationonallMorganKaufmannpublications,
visitourwebsiteatwww.mkp.comorwww.books.elsevier.com
PrintedintheUnitedStatesofAmerica
08 09 10 11 12 5 4 3 2 1
To Nancy andAlec
Disclaimer
Designations used by companies to distinguish their products are often claimed
as trademarks or registered trademarks. In all instances where Morgan Kaufmann
Publishers is aware of a claim,the product names appear in initial capital or all
capital letters. Readers,however,should contact the appropriate companies for
morecompleteinformationregardingtrademarksandregistration.
ARM,theARMPoweredlogo,StrongARM,ThumbandARM7TDMIareregistered
trademarks ofARM Ltd.ARM Powered,ARM7,ARM7TDMI-S,ARM710T,ARM740T,
ARM9, ARM9TDMI, ARM940T, ARM920T, EmbeddedICE, ARM7T-S, Embedded-
ICE-RT,ARM9E,ARM946E,ARM966E,ARM10,AMBA,andMulti-ICEaretrademarks
ofARMLimited.Allotherbrandnamesorproductnamesarethepropertyoftheir
respective holders.“ARM”is used to representARM Holdings plc (LSE:ARM and
NASDAQ:ARMHY);its operating company,ARM Ltd;and the regional subsidiaries:
ARM,INC.,ARMKK;ARMKorea,Ltd.
Microsoft andWindows are registered trademarks andWindows NT is a trade-
markofMicrosoftCorporation.PentiumisatrademarkofIntelCorporation.Allother
trademarksandlogosarepropertyoftheirrespectiveholders.TMS320C55x,C55x,
andCodeComposerStudioaretrademarksofTexasInstrumentsIncorporated.
Foreword to The First Edition
Digital system design has entered a new era. At a time when the design of
microprocessors has shifted into a classical optimization exercise,the design of
embedded computing systems in which microprocessors are merely components
has become a wide-open frontier.Wireless systems,wearable systems,networked
systems,smartappliances,industrialprocesssystems,advancedautomotivesystems,
and biologically interfaced systems provide a few examples from across this new
frontier.
Driven by advances in sensors, transducers, microelectronics, processor per-
formance, operating systems, communications technology, user interfaces, and
packaging technology on the one hand,and by a deeper understanding of human
needsandmarketpossibilitiesontheother,avastnewrangeofsystemsandappli-
cations is opening up. It is now up to the architects and designers of embedded
systemstomakethesepossibilitiesareality.
However,embedded system design is practiced as a craft at the present time.
Although knowledge about the component hardware and software subsystems is
clear,there are no system design methodologies in common use for orchestrating
the overall design process,and embedded system design is still run in an ad hoc
mannerinmostprojects.
Someofthechallengesinembeddedsystemdesigncomefromchangesinunder-
lying technology and the subtleties of how it can all be correctly mingled and
integrated. Other challenges come from new and often unfamiliar types of sys-
tem requirements.Then too,improvements in infrastructure and technology for
communicationandcollaborationhaveopenedupunprecedentedpossibilitiesfor
fast design response to market needs. However,effective design methodologies
and associated design tools have not been available for rapid follow-up of these
opportunities.
At the beginning of theVLSI era,transistors and wires were the fundamental
components,and the rapid design of computers on a chip was the dream.Today
theCPUandvariousspecializedprocessorsandsubsystemsaremerelybasiccom-
ponents,andtherapid,effectivedesignofverycomplexembeddedsystemsisthe
dream.Notonlyaresystemspecificationsnowmuchmorecomplex,buttheymust
also meet real-time deadlines,consume little power,effectively support complex
real-timeuserinterfaces,beverycost-competitive,andbedesignedtobeupgradable.
WayneWolfhascreatedthefirsttextbooktosystematicallydealwiththisarray
of new system design requirements and challenges. He presents formalisms and a
methodologyforembeddedsystemdesignthatcanbeemployedbythenewtypeof
“tall-thin”systemarchitectwhoreallyunderstandsthefoundationsofsystemdesign
acrossaverywiderangeofitscomponenttechnologies.
Movingfromthebasicsofeachtechnologydimension,Wolfpresentsformalisms
forspecifyingandmodelingsystemstructuresandbehaviorsandthenclarifiesthese
vii
viii Foreword to The First Edition
ideas through a series of design examples. He explores the complexities involved
andhowtosystematicallydealwiththem.Youwillemergewithasenseofclarity
aboutthenatureofthedesignchallengesaheadandwithknowledgeofkeymethods
andtoolsfortacklingthosechallenges.
Asthefirsttextbookonembeddedsystemdesign,thisbookwillproveinvaluable
as a means for acquiring knowledge in this important and newly emerging field.
It will also serve as a reference in actual design practice and will be a trusted
companioninthedesignadventuresahead.Irecommendittoyouhighly.
LynnConway
ProfessorEmerita,ElectricalEngineeringand
ComputerScienceUniversityofMichigan
Contents
AbouttheAuthor..................................................................... ii
ForewordtoTheFirstEdition....................................................... vii
ListofExamples ..................................................................... xvii
PrefacetoTheSecondEdition...................................................... xix
PrefacetoTheFirstEdition ......................................................... xxi
CHAPTER 1 Embedded Computing 1
Introduction..................................................... 1
1.1 ComplexSystemsandMicroprocessors....................... 1
1.1.1 EmbeddingComputers ................................ 2
1.1.2 CharacteristicsofEmbeddedComputing
Applications ............................................ 4
1.1.3 WhyUseMicroprocessors?............................ 6
1.1.4 ThePhysicsofSoftware................................ 8
1.1.5 ChallengesinEmbeddedComputingSystem
Design................................................... 8
1.1.6 PerformanceinEmbeddedComputing............... 10
1.2 TheEmbeddedSystemDesignProcess........................ 11
1.2.1 Requirements........................................... 12
1.2.2 Specification............................................ 17
1.2.3 ArchitectureDesign .................................... 18
1.2.4 DesigningHardwareandSoftware
Components............................................ 20
1.2.5 SystemIntegration ..................................... 20
1.3 FormalismsforSystemDesign ................................. 21
1.3.1 StructuralDescription ................................. 22
1.3.2 BehavioralDescription................................. 27
1.4 ModelTrainController.......................................... 30
1.4.1 Requirements........................................... 31
1.4.2 DCC ..................................................... 32
1.4.3 ConceptualSpecification .............................. 34
1.4.4 DetailedSpecification.................................. 37
1.4.5 LessonsLearned........................................ 44
1.5 AGuided Tourof ThisBook ................................... 45
1.5.1 Chapter2:InstructionSets............................. 46
1.5.2 Chapter3:CPUs ........................................ 46
1.5.3 Chapter4:Bus-BasedComputerSystems ............. 46
ix