嵌入式計算系統設計原理

嵌入式計算系統設計原理

《嵌入式計算系統設計原理》以實際晶片(ARM晶片和TIC55xDSP)為例,進行相關設計技術和技巧的說明,向讀者介紹如何將這些理論付諸於設計實踐。在所有關鍵課題討論中都尤為強調現實中的設計實踐,從而為學生和設計人員提供了最先進技術的指導。對設計實踐中所必需的基本套用技術進行重點討論,幫助讀者在實際工作中熟練地設計大型的、複雜的嵌入式系統。

基本信息

內容簡介

《嵌入式計算系統設計原理》從組件技術的視角出發,介紹了嵌入式系統設計技術和技巧。《嵌入式計算系統設計原理》第l版已被廣泛套用於教學,可以說在很大程度上引發了嵌入式系統課程的創立,並為實踐設計提供了寶貴指南。第2版根據最先進的技術發展進行了更新。不論是進行軟硬體設計的研究人員、學生還是專家,都能從WayneWolf的集成化工程設計方法中獲益匪淺。

作者簡介

WayneWolf,擁有史丹福大學電氣工程博士學位,曾執教於普林斯頓大學,現任職於GeorgiaTech公司。在1989年加入普林斯頓大學之前,他曾在AT&T貝爾實驗室工作。他是IEEE和ACM會員、IEEE計算機協會核心成員以及ASEE和SPIE成員。Wolf教授於2003年獲得TASEEFrederickE.Terman獎,於2006年獲得TIEEE電路與系統教育獎。除本書外,他還著有《高性能嵌入式計算》和《基於FPGA的系統設計》等書。

目錄

AbouttheAuthor

ForewordtoTheFirstEdition

PrefacetoTheSecondEdition

PrefacetoTheFirStEdition

ListofExamples

CHAPTER1EmbeddedComputing

Introduction

1.1ComplexsystemsandMicroprocessors

1.1.1EmbeddingComputers

1.1.2CharacteristicsofEmbeddedComputingApplications

1.1.3WhyUseMicroprocessors?

1.1.4ThePhysicsofSoftware

1.1.5ChallengesinEmbeddedComputingSystemDesign

1.1.6PerformanceinEmbeddedComputing

1.2TheEmbeddedSystemDesignProcess

1.2.1Requirements

1.2.2Specification

1.2.3ArchitectureDesign

1.2.4DesigningHardwareandSoftwareComponents

1.2.5SvstemIntegration

1.3FormalismsforSystemDesign

1.3.1StructuralDescription

1.3.2BehavioralDescription

1.4ModelTrainController

1.4.1Requirements

1.4.2DCC

1.4.3ConceptualSpecification

1.4.4DetailedSpecification.

1.4.5LessonsLearned.

1.5AGuidedTourofThisBook

1.5.1Chapter2:InstructionSets

1.5.2Chapter3:CPUs

1.5.3Chapter4:Bus-BasedComputerSystems

1.5.4Chapter5:ProgramDesignandAnalysis

1.5.5Chapter6:ProcessesandOperatingSystems

1.5.6Chapter7:Multiprocessors

1.5.7Chapter8:Networks

1.5.8Chapter9:SystemDesignTechniques

Summary.

FurtherReading

Questions

LabExercises

CHAPTER2InstructionSets

Introducton

2.1Preliminaries

2.1.1ComputerArchitectureTaxonomy

2.1.2AssemblyLanguage

2.2ARMProcessor

2.2.1ProcessorandMemoryOrganization

2.2.2DataOperations

2.2.3FlowofControl

2.3TIC55xDSP

2.3.1ProcessorandMemoryOrganization

2.3.2AddressingModes

2.3.3DataOperations

2.3.4FlowofControl

2.3.5CCodingGuidelines

Summary.

FurtherReading

Questions

LabExercises

CHAPTER3CPUs

Introduction

3.1ProgrammingInputandOutput

3.1.1InputandOutputDevices.

3.1.2InputandOutputPrimitives

3.1.3Busy-WaitI/O

3.1.4Interrupts

3.2SupervisorMode,Exceptions,andTraps

3.2.1SupervisorMode

3.2.2Exceptions

3.2.3Traps

3.3Co-Processors

3.4MemorySystemMechanisms

3.4.1Caches

3.4.2MemoryManagementUnitsandAddressTlmnslation

3.5CPUPerformance

3.5.1Pipelining

3.5.2Caching

3.6CPUPowerConsumption

3.7DesignExample:DataCompressor

3.7.1RequirementsandAlgorithm

3.7.2Specification

3.7.3ProgramDesign

3.7.4Testing

Summary

FurtherReading

Questions

LabExercises

CHAPTER4Bus-BasedComputerSystems

Introduction

4.1TheCPUBus

4.1.1BusProtocols

4.1.2DMA

4.1.3SystemBusConfigurations

4.1.4AMBABus

4.2MemoryDevices

4.2.1MemoryDeviceOrganization

4.2.2Random-AccessMemories

4.2.3Read-OnlyMemories

4.3I/Odevices

4.3.1TimersandCounters

4.3.2A/DandD/AConverters

4.3.3Keyboards

4.3.4LEDS

4.3.5Displays

4.3.6Touchscreens

4.4ComponentInterfacing

4.4.1MemoryInterfacing

4.4.2DeviceInterfacing

4.5DesigningwithMicroprocessors

4.5.1SystemArchitecture

4.5.2HardwareDesign

4.5.3ThePCasaPlatform

4.6DevelopmentandDebugging

4.6.1DevelopmentEnvironments

4.6.2DebuggingTechniques

4.6.3DebuggingChallenges

4.7System-LevelPerformanceAnalvsis

4.7.1System-LevelPerformanceAnalysis

4.7.2Parallelism

4.8DesignExample:AlarmClock

4.8.1Requirements

4.8.2Specification

4.8.3SystemArchitecture

4.8.4ComponentDesignandTesting

4.8.5SystemIntegrationandTesting

Summary.

FurtherReading.

Questions

LabExercises

CHAPTER5ProgramDesignandAnalysis

Introduction

5.1ComponentsforEmbeddedPrograms

5.1.1StateMachines

5.1.2Stream-OrientedProgrammingandCircularBuffers

5.1.3Queues

5.2ModelsofPrograms

5.2.1DataFlowGraphs

5.2.2Control/DataFlowGraphs

5.3Assembly,Linking,andLoading

5.3.1Assemblers

5.3.2Linking

5.4BasicCompilationTechniques

5.4.1StatementTranslation

5.4.2Procedures

5.4.3DataStructures

5.5ProgramOptimization

5.5.1ExpressionSimplification

5.5.2DeadCodeElimination

5.5.3ProcedureInlining

5.5.4LoopTransformations

5.5.5RegisterAllocation

5.5.6Scheduling

5.5.7InstructionSelection

5.5.8UnderstandingandUsingyourCompiler

5.5.9InterpretersandJITCompilers

5.6Program-LevelPerformanceAnalysis

5.6.1ElementsofProgramPerformance

5.6.2Measurement-DrivenPerformanceAnalysis

5.7SoftwarePerformanceOptimization

5.7.1LoopOptimizations

5.7.2PerformanceOptimizationStrategies

5.8Program-LevelEnergyandPowerAnalysisandOptimization

5.9AnalysisandOptimizationofProgramSize

5.10ProgramValidationandTesting

5.10.1Clear-BoxTesting

5.10.2Black-BoxTesting

5.10.3EvaluatingFunctionTests

5.11SoftwareModem

5.11.1TheoryofOperationandRequirements

5.11.2Specification

5.11.3SystemArchitecture.

5.11.4ComponentDesignandTesting

5.11.5SystemIntegrationandTesting

Summary

FurtherReading

Questions

1LabExercises

CHAPTER6ProcessesandOperatingSystems

Lntroduction.

6.1MultipleTasksandMultipleProcesses

6.1.1TasksandProcesses

6.1.2MultirateSystems.

6.1.3TimingRequirementsonProcesses

6.1.4CPUMetrics

6.1.5ProcessStateandScheduling

6.1.6SomeSchedulingPolicies

6.1.7RunningPeriodicProcesses

6.2PreemptiveReal-TimeOperatingSystems

6.2.1Preemption

6.2.2Priorities

6.2.3ProcessesandContext.

6.2.4ProcessesandObject-OrientedDesign

6.3Priority-BasedScheduling.

6.3.1Rate-MonotonicScheduling

6.3.2Earliest-Deadline-FirstScheduling

6.3.3RMSvs.EDF

6.3.4ACloserLookatOurModelingAssumptions

6.4InterprocessCommunicationMechanisms

6.4.1SharedMemoryCommunication

6.4.2MessagePassing

6.4.3Signals

6.5EvaluatingOperatingSystemPerformance

6.6PowerManagementandOptimizationforProcesses

6.7DesignExample:TelephoneAnsweringMachine

6.7.1TheoryofOperationandRequirements

6.7.2Specification

6.7.3SystemArchitecture

6.7.4ComponentDesignandTesting

6.7.5SystemIntegrationandTesting

Summary.

FurtherReading.

Questions

LabExercises

CHAPTER7MuItiprocessors

Introduction

7.1WhyMultiprocessors?

7.2CPUsandAccelerators

7.2.1SystemArchitectureFramework

7.2.2SystemIntegrationandDebugging

7.3MultiprocessorPerformanceAnalysis

7.3.1AcceleratorsandSpeedup

7.3.2PerformanceEffectsofSchedulingandAllocation

7.3.3BufferingandPerformance

7.4ConsumerElectronicsArchitecture

7.4.1UseCasesandRequirements

7.4.2PlatformsandOperatingSystems

7.4.3FlashFileSystems

7.5DesignExample:CellPhones

7.6DesignExample:CompactDISCsandDVDs

7。7DesignExample:AudioPlayers

7.8DesignExample:DigitalStillCameras

7.9DesignExample:VideoAccelerator

7.9.1AlgorithmandRequirements

7.9.2Specification

7.9.3Architecture

7.9.4ComponentDesign

7.9.5SystemTesting

Summary

FurtherReading

Questions

LabExercises

CHAPTER8Networks

Introduction

8.1DistributedEmbeddedArchitectures

8.1.1WhyDistributed?

8.1.2NetworkAbstractions

8.1.3HardwareandSoftwareArchitectures

8.1.4MessagePassingProgramming

8.2NetworksforEmbeddedSystems

8.2.1TheI2CBus

8.2.2Ethernet

8.2.3Fieldbus

8.3Network-BasedDesign

8.4Internet-EnabledSystems

8.4.1Internet

8.4.2InternetApplications

8.4.3InternetSecurity

8.5VehiclesasNetworks

8.5.1AutomotiveNetworks

8.5.2Avionics

8.6SensorNetworks

8.7DesignExample:ElevatorController

8.7.1TheoryofOperationandRequirements

8.7.2Specification

8.7.3Architecture

8.7.4Tcsting

Summary

FurtherReading

Ouestions

LabExercises

CHAPTER9SystemDesignTechniques

Introduction

9.1DesignMethodologies

9.1.1WhyDesignMethodologies?

9.1.2DesignFlows

9.2RequirementsAnalysis

9.3Specifications

9.3.1Control-OrientedSpecificationLanguages

9.3.2AdvancedSpecifications.

9.4SystemAnalysisandArchitectureDesign

9.5QualityAssurance

9.5.1QualityAssuranceTechniques

9.5.2VerifyingtheSpecification

9.5.3DesignReviews

Summary

FurtherReading

Questions

LabExercises

相關詞條

相關搜尋

熱門詞條

聯絡我們