展开全部

主编推荐语

一本系统剖析SoC底层软件低功耗系统设计、实现与定制化的著作。

内容简介

本书全面讲解了低功耗的知识点以及各种低功耗问题的定位与优化。

作者在华为海思等半导体企业深耕低功耗领域10余年,本书内容基于作者的实际商用经验撰写而成,读完本书后,我们至少能掌握以下知识:

(1)Linux内核中所有与低功耗相关的17个模块的设计与实现原理,以及这些模块的自定义实现和二次开发,这部分内容能让读者对低功耗相关的问题知其然并知其所以然。

(2)Linux内核中关于低功耗的设计思想,既同时适用于宏内核、微内核和精简内核,又可以给其他的操作系统提供思路和启发。

(3)低功耗的20余个扩展知识点,让读者对低功耗有更全面、更深入地了解。

(4)各种低功耗问题的定位方法和通用优化手段。

目录

  • 版权信息
  • 前言
  • 第1章 低功耗系统设计思路
  • 1.1 低功耗系统设计面临的挑战
  • 1.2 降低功耗的3种主要设计思路
  • 1.3 低功耗系统的架构设计
  • 1.4 术语介绍
  • 1.5 本章小结
  • 第2章 wakeup source框架设计与实现
  • 2.1 Linux wakeup source的设计与实现
  • 2.1.1 架构设计概览
  • 2.1.2 模块功能详解
  • 2.1.3 配置信息解析
  • 2.1.4 主要数据结构
  • 2.1.5 主要函数分析
  • 2.1.6 函数工作时序
  • 2.2 实现自己的wakeup source框架
  • 2.2.1 动手前的思考
  • 2.2.2 设计与实现
  • 2.3 本章小结
  • 第3章 autosleep框架设计与实现
  • 3.1 Linux autosleep的设计与实现
  • 3.1.1 架构设计概览
  • 3.1.2 模块功能详解
  • 3.1.3 配置信息解析
  • 3.1.4 主要函数实现
  • 3.1.5 函数工作时序
  • 3.2 实现自己的autosleep框架
  • 3.2.1 动手前的思考
  • 3.2.2 设计与实现
  • 3.3 本章小结
  • 第4章 PM Core框架设计与实现
  • 4.1 Linux PM Core的设计与实现
  • 4.1.1 架构设计概览
  • 4.1.2 模块功能详解
  • 4.1.3 配置信息解析
  • 4.1.4 主要数据结构
  • 4.1.5 主要函数实现
  • 4.1.6 软件处理流程
  • 4.2 实现自己的PM Core框架
  • 4.2.1 动手前的思考
  • 4.2.2 运行时序设计
  • 4.2.3 设计与实现
  • 4.3 本章小结
  • 第5章 notifier框架设计与实现
  • 5.1 Linux notifier的设计与实现
  • 5.1.1 架构设计概览
  • 5.1.2 模块功能详解
  • 5.1.3 配置信息解析
  • 5.1.4 主要数据结构
  • 5.1.5 主要接口介绍
  • 5.1.6 内核使用场景
  • 5.2 实现自己的notifier框架
  • 5.2.1 动手前的思考
  • 5.2.2 设计与实现
  • 5.3 本章小结
  • 第6章 DPM框架设计与实现
  • 6.1 Linux DPM的设计与实现
  • 6.1.1 架构设计概览
  • 6.1.2 模块功能详解
  • 6.1.3 配置信息解析
  • 6.1.4 主要数据结构
  • 6.1.5 主要函数介绍
  • 6.1.6 函数工作时序
  • 6.2 实现自己的DPM框架
  • 6.2.1 动手前的思考
  • 6.2.2 设计与实现
  • 6.3 补充说明
  • 6.4 本章小结
  • 第7章 syscore框架设计与实现
  • 7.1 Linux syscore的设计与实现
  • 7.1.1 架构设计概览
  • 7.1.2 模块功能详解
  • 7.1.3 配置信息解析
  • 7.1.4 主要结构体介绍
  • 7.1.5 主要函数介绍
  • 7.2 实现自己的syscore框架
  • 7.2.1 动手前的思考
  • 7.2.2 设计与实现
  • 7.3 本章小结
  • 第8章 RPM框架设计与实现
  • 8.1 Linux RPM的设计与实现
  • 8.1.1 架构设计概览
  • 8.1.2 模块功能详解
  • 8.1.3 RPM与system sleep的关系
  • 8.1.4 No-Callback设备解析
  • 8.1.5 autosuspend与automatically-delayed suspends分析
  • 8.1.6 配置信息解析
  • 8.1.7 主要结构体介绍
  • 8.1.8 主要函数介绍
  • 8.1.9 RPM与PM Core工作时间段对比
  • 8.1.10 RPM的函数工作时序
  • 8.2 实现自己的RPM框架
  • 8.2.1 动手前的思考
  • 8.2.2 设计与实现
  • 8.2.3 实现进阶第一步
  • 8.2.4 实现进阶第二步
  • 8.2.5 实现进阶第三步
  • 8.3 本章小结
  • 第9章 thermal框架设计与实现
  • 9.1 Linux thermal的设计与实现
  • 9.1.1 架构设计概览
  • 9.1.2 模块功能详解
  • 9.1.3 基本术语概念
  • 9.1.4 配置信息解析
  • 9.1.5 thermal_core解析
  • 9.1.6 关于critical事件和非critical事件的处理流程
  • 9.1.7 governor实现介绍
  • 9.2 实现自己的thermal框架
  • 9.2.1 动手前的思考
  • 9.2.2 设计与实现
  • 9.3 本章小结
  • 第10章 CPU Hotplug框架设计与实现
  • 10.1 Linux CPU Hotplug的设计与实现
  • 10.1.1 架构设计概览
  • 10.1.2 模块功能详解
  • 10.1.3 配置信息解析
  • 10.1.4 主要数据结构介绍
  • 10.1.5 如何使用CPU Hotplug
  • 10.1.6 CPU Hotplug状态机
  • 10.1.7 CPU online/offline运行流程示意
  • 10.1.8 state申请及使用
  • 10.1.9 CPU Hotplug工作时序
  • 10.2 实现自己的Hotplug框架
  • 10.2.1 动手前的思考
  • 10.2.2 设计与实现
  • 10.3 本章小结
  • 第11章 CPUIdle框架设计与实现
  • 11.1 Linux CPUIdle的设计与实现
  • 11.1.1 架构设计概览
  • 11.1.2 背景介绍
  • 11.1.3 配置信息解析
  • 11.1.4 设计与实现
  • 11.2 实现自己的CPUIdle框架
  • 11.2.1 动手前的思考
  • 11.2.2 设计与实现
  • 11.3 本章小结
  • 第12章 CLK框架设计与实现
  • 12.1 Linux CLK的设计与实现
  • 12.1.1 架构设计概览
  • 12.1.2 背景介绍
  • 12.1.3 配置信息解析
  • 12.1.4 主要数据类型
  • 12.1.5 主要函数实现
  • 12.2 实现自己的CLK框架
  • 12.2.1 动手前的思考
  • 12.2.2 设计与实现
  • 12.3 本章小结
  • 第13章 DVFS框架设计与实现
  • 13.1 Linux cpufreq的设计与实现
  • 13.1.1 架构设计概览
  • 13.1.2 模块功能详解
  • 13.1.3 配置信息解析
  • 13.1.4 主要数据类型
  • 13.1.5 主要函数实现
  • 13.2 实现自己的DVFS框架
  • 13.2.1 动手前的思考
  • 13.2.2 设计与实现
  • 13.3 本章小结
  • 第14章 regulator框架设计与实现
  • 14.1 Linux regulator的设计与实现
  • 14.1.1 架构设计概览
  • 14.1.2 背景介绍
  • 14.1.3 配置信息解析
  • 14.1.4 主要模块功能
  • 14.1.5 主要函数实现
  • 14.2 实现自己的regulator框架
  • 14.2.1 动手前的思考
  • 14.2.2 设计与实现
  • 14.3 本章小结
  • 第15章 AVS框架设计与实现
  • 15.1 背景及原理
  • 15.2 AVS设计与实现
  • 15.2.1 AVS实现
  • 15.2.2 AVS接口
  • 15.2.3 AVS使用
  • 15.3 本章小结
  • 第16章 PSCI框架设计与实现
  • 16.1 背景介绍
  • 16.1.1 空闲管理
  • 16.1.2 热插拔
  • 16.2 假设和建议
  • 16.2.1 PSCI目的
  • 16.2.2 异常级别、ARMv7权限级别和最高权限
  • 16.2.3 基于ARM系统的软件栈
  • 16.2.4 安全世界软件和电源管理
  • 16.3 PSCI使用场景及要求
  • 16.3.1 空闲管理
  • 16.3.2 电源状态系统拓扑与协作
  • 16.3.3 CPU热插拔和从核启动
  • 16.3.4 系统关闭、系统复位和系统挂起
  • 16.4 函数功能解析
  • 16.4.1 PSCI中的参数和返回值
  • 16.4.2 PSCI_VERSION函数
  • 16.4.3 CPU_SUSPEND函数
  • 16.4.4 CPU_OFF函数
  • 16.4.5 CPU_ON函数
  • 16.4.6 AFFINITY_INFO函数
  • 16.4.7 MIGRATE函数
  • 16.4.8 MIGRATE_INFO_TYPE/MIGRATE_INFO_UP_CPU函数
  • 16.4.9 SYSTEM_OFF函数
  • 16.4.10 SYSTEM_RESET函数
  • 16.4.11 PSCI_FEATURES函数
  • 16.4.12 SYSTEM_SUSPEND函数
  • 16.5 PSCI调用流程
  • 16.5.1 CPU_SUSPEND、SYSTEM_SUSPEND调用流程
  • 16.5.2 CPU_OFF调用流程
  • 16.5.3 CPU_ON调用流程
  • 16.6 核状态的操作系统和实现视图
  • 16.7 推荐的StateID编码
  • 16.8 PSCI规范实现选项
  • 16.9 内核PSCI关系梳理
  • 16.10 本章小结
  • 第17章 ATF
  • 17.1 背景介绍
  • 17.2 配置信息
  • 17.3 工作时序
  • 17.4 本章小结
  • 第18章 扩展知识点
  • 18.1 链表
  • 18.2 信号量
  • 18.3 自旋锁
  • 18.4 GIC
  • 18.5 SMP CALL
  • 18.6 锁中断
  • 18.7 看门狗
  • 18.8 冻结进程
  • 18.9 定时器
  • 18.10 volatile
  • 18.11 WFE、SEV、WFI
  • 18.12 write through、write back、write allocate、read allocate
  • 18.13 mutex、semaphore、spinlock的区别
  • 18.14 本章小结
  • 第19章 低功耗问题定位及优化思路
  • 19.1 多子系统配置
  • 19.2 并行处理
  • 19.3 增加打点信息
  • 19.4 增加suspend流程状态检查返回点
  • 19.5 设置提前唤醒量
  • 19.6 减少(合并)唤醒中断次数
  • 19.7 慎用阻塞型接口
  • 19.8 踩内存
  • 19.9 压力测试
  • 19.9.1 思路梳理
  • 19.9.2 压力测试框架实现
  • 19.10 其他优化手段
  • 19.11 本章小结
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

机械工业出版社

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。