嵌入式计算系统设计原理(原书第3版)
2014-1
(美)Marilyn Wolf
李仁发 等
无
本书从组件技术的视角出发,介绍了嵌入式系统设计技术和技巧。本书自第1版出版以来,已广泛应用于教学,并为实践设计提供了宝贵指南。第3版根据最先进的技术发展进行了更新,更详细阐述操作系统中的进程通信和缓冲,尤其是新增了数字信号处理、多媒体和CPS方面的实例。作者介绍了德州仪器的最新处理器、ARM、美国微芯科技公司及软件、操作系统、网络、消费性电子设备等。不论是进行软硬件设计的研究人员、学生还是专家,都能从Marilyn Wolf的集成化工程设计方法中获益匪浅。
本书特色
以实际芯片(ARM芯片、TI C55x DSP和PIC)为例,进行相关设计技术和技巧的说明,向读者介绍如何将这些理论付诸于设计实践。
在所有关键课题讨论中都尤为强调现实中的设计实践,从而为学生和设计人员提供了最先进技术的指导。
对设计实践中所必需的基本应用技术进行重点讨论,帮助读者在实际工作中熟练设计大型、复杂的嵌入式系统。
Marilyn Wolf 佐治亚理工学院教授,佐治亚研究联合会优秀学者。她分别于1980年、1981年和1984年获得斯坦福大学电子工程学士学位、硕士学位和博士学位。1984年至1989年任职于贝尔实验室,1989年至2007年执教于普林斯顿大学。她是IEEE和ACM会士、IEEE计算机协会核心成员以及ASEE和SPIE成员。她于2003年获得ASEE Frederick E. Terman奖,于2006年获得IEEE电路与系统教育奖。她的研究兴趣主要包括嵌入式计算、嵌入式视频和计算机视觉、VLSI系统。
出版者的话
译者序
序言
第3版前言
第2版前言
第1版前言
第1章嵌入式计算
1.1引言
1.2复杂系统与微处理器
1.2.1嵌入式计算机
1.2.2嵌入式计算应用的特点
1.2.3为什么要使用微处理器
1.2.4网络物理系统
1.2.5嵌入式计算系统设计所面临的挑战
1.2.6嵌入式计算系统的性能
1.3嵌入式系统的设计过程
1.3.1需求
1.3.2规格说明
1.3.3体系结构设计
1.3.4设计硬件组件和软件组件
1.3.5系统集成
1.3.6系统设计的形式化方法
1.3.7结构描述
1.3.8行为描述
1.4设计示例:模型火车控制器
1.4.1需求
1.4.2DCC
1.4.3概念性规格说明
1.4.4详细的规格说明
1.4.5本节所学内容
1.5本书概览
1.5.1第2章:指令系统
1.5.2第3章:CPU
1.5.3第4章:计算平台
1.5.4第5章:程序设计和分析
1.5.5第6章:进程和操作系统
1.5.6第7章:系统设计技术
1.5.7第8章:网络和多处理器
1.6总结
本章学习要点
推荐读物
习题
实验练习
第2章指令系统
2.1引言
2.2预备知识
2.2.1计算机体系结构分类
2.2.2汇编语言
2.2.3超长指令字处理器
2.3ARM处理器
2.3.1处理器和存储器组织
2.3.2数据操作
2.3.3控制流
2.3.4高级ARM特性
2.4PICmicro中档系列
2.4.1处理器和存储器组织
2.4.2数据操作
2.4.3控制流
2.5TI C55x DSP
2.5.1处理器和存储器组织
2.5.2寻址方式
2.5.3数据操作
2.5.4流程控制
2.5.5C编码准则
2.6TI C64x
2.7总结
本章学习要点
推荐读物
习题
实验练习
第3章CPU
3.1引言
3.2输入/输出编程
3.2.1输入/输出设备
3.2.2输入/输出原语
3.2.3忙等I/O
3.2.4中断
3.3管态、异常和陷阱
3.3.1管态
3.3.2异常
3.3.3陷阱
3.4协处理器
3.5存储系统机制
3.5.1高速缓存
3.5.2存储管理单元和地址转换
3.6CPU的性能
3.6.1流水线技术
3.6.2高速缓存的性能
3.7CPU的功耗
3.8设计示例:数据压缩器
3.8.1需求和算法
3.8.2规格说明
3.8.3程序设计
3.8.4测试
3.9总结
本章学习要点
推荐读物
习题
实验练习
第4章计算平台
4.1引言
4.2基本计算平台
4.2.1平台硬件组件
4.2.2平台软件组件
4.3CPU总线
4.3.1总线结构和协议
4.3.2DMA
4.3.3系统总线配置
4.4存储设备和系统
4.5计算平台的设计
4.5.1示例平台
4.5.2平台选择
4.5.3知识产权
4.5.4开发环境
4.5.5调试技术
4.5.6调试难点
4.6消费类电子设备的体系结构
4.6.1消费类电子设备的用例和需求
4.6.2文件系统
4.7平台级性能分析
4.8设计示例:闹钟
4.8.1需求
4.8.2规格说明
4.8.3系统体系结构
4.8.4组件设计与测试
4.8.5系统集成与测试
4.9设计示例:音频播放器
4.9.1工作原理和需求
4.9.2规格说明
4.9.3系统体系结构
4.9.4组件设计与测试
4.9.5系统集成与调试
4.10总结
本章学习要点
推荐读物
习题
实验练习
第5章程序设计与分析
5.1引言
5.2嵌入式程序组件
5.2.1状态机
5.2.2循环缓冲区和面向流的程序设计
5.2.3队列和生产者/消费者系统
5.3程序模型
5.3.1数据流图
5.3.2控制/数据流图
5.4汇编、连接和装载
5.4.1汇编程序
5.4.2连接
5.4.3目标代码设计
5.5编译技术
5.5.1编译处理
5.5.2基本编译方法
5.5.3编译器优化
5.6程序级性能分析
5.6.1程序性能的要素
5.6.2测量驱动的性能分析
5.7软件性能优化
5.7.1循环优化
5.7.2cache优化
5.7.3性能优化策略
5.8程序级功耗分析与优化
5.9程序大小的分析与优化
5.10程序验证与测试
5.10.1白盒测试
5.10.2黑盒测试
5.10.3评估功能测试
5.11设计示例:软件调制解调器
5.11.1工作原理和需求
5.11.2规格说明
5.11.3系统体系结构
5.11.4组件设计与测试
5.11.5系统集成与测试
5.12设计示例:数码相机
5.12.1工作原理和需求
5.12.2规格说明
5.12.3系统体系结构
5.12.4组件设计与测试
5.12.5系统集成与测试
5.13总结
本章学习要点
推荐读物
习题
实验练习
第6章进程和操作系统
6.1引言
6.2多任务和多进程
6.3多速率系统
6.3.1进程的时限要求
6.3.2CPU使用率度量
6.3.3进程状态与调度
6.3.4运行周期性进程
6.4可抢占的实时操作系统
6.4.1两个基本概念
6.4.2进程和上下文
6.4.3进程和面向对象的设计
6.5基于优先级的调度
6.5.1单一速率调度
6.5.2共享资源
6.5.3优先级反转
6.5.4最早截止时限优先调度
6.5.5RMS和EDF的比较
6.5.6模型化的假设的详细介绍
6.6进程间通信机制
6.6.1共享内存通信
6.6.2消息传递
6.6.3信号
6.6.4邮箱
6.7评估操作系统性能
6.8进程的功耗优化策略
6.9实时操作系统举例
6.9.1POSIX
6.9.2Windows CE
6.10设计示例:电话应答机
6.10.1工作原理和需求
6.10.2规格说明
6.10.3系统体系结构
6.10.4组件设计和测试
6.10.5系统集成和测试
6.11设计示例:发动机控制单元
6.11.1工作原理和需求
6.11.2规格说明
6.11.3系统体系结构
6.11.4组件设计与测试
6.11.5系统集成与测试
6.12总结
本章学习要点
推荐读物
习题
实验练习
第7章系统设计技术
7.1引言
7.2设计方法学
7.2.1为什么需要设计方法学
7.2.2设计流
7.3需求分析
7.4规格说明
7.4.1面向控制的规格说明语言
7.4.2改进的规格说明
7.5系统分析和结构设计
7.6质量保证
7.6.1质量保证技术
7.6.2检验规格说明
7.6.3设计评审
7.7总结
本章学习要点
推荐读物
习题
实验练习
第8章网络和多处理器
8.1引言
8.2为什么要使用网络和多处理器
8.3多处理器分类
8.4分布式嵌入式系统
8.4.1网络抽象模型
8.4.2CAN总线
8.4.3汽车和飞机上的分布式计算
8.4.4I2C总线
8.4.5以太网
8.4.6因特网
8.5多处理器片上系统和共享存储多处理器
8.5.1异构共享存储多处理器
8.5.2加速器
8.5.3加速器性能分析
8.5.4调度和分配
8.6设计示例:视频加速器
8.6.1视频压缩
8.6.2算法和需求
8.6.3规格说明
8.6.4体系结构
8.6.5组件设计
8.6.6系统测试
8.7应用示例:CD
8.8总结
本章学习要点
推荐读物
习题
实验练习
术语
索引
无