当前位置: 首页>后端>正文

计算机体系结构 嵌入式方法

第1章? ? 引言

? ? 1.1? ? 本书组织结构

? ? 1.2? ? 进化过程

? ? 1.3? ? 计算机发展阶段划分

? ? ? ? 1.3.1? ? 第一代计算机

? ? ? ? 1.3.2? ? 第二代计算机

? ? ? ? 1.3.3? ? 第三代计算机

? ? ? ? 1.3.4? ? 第四代计算机

? ? ? ? 1.3.5? ? 第五代计算机

? ? 1.4? ? 云,普适,网格和超并行计算机

? ? 1.5? ? 未来

? ? 小结

第2章? ? 基础知识

? ? 2.1? ? 计算机组成

? ? ? ? 2.1.1? ? Flynn分类法

? ? ? ? 2.1.2? ? 连接方式

? ? ? ? 2.1.3? ? 计算机结构层次视图

? ? 2.2? ? 计算机基本原理

? ? 2.3? ? 数字格式

? ? ? ? 2.3.1? ? 无符号二进制

? ? ? ? 2.3.2? ? 原码

? ? ? ? 2.3.3? ? 反码

? ? ? ? 2.3.4? ? 补码

? ? ? ? 2.3.5? ? 移码(excess-n)

? ? ? ? 2.3.6? ? BCD码

? ? ? ? 2.3.7? ? 定点数表示法

? ? ? ? 2.3.8? ? 符号扩展

? ? 2.4? ? 算术运算

? ? ? ? 2.4.1? ? 加法

? ? ? ? 2.4.2? ? 并行进位传递加法器

? ? ? ? 2.4.3? ? 超前进位

? ? ? ? 2.4.4? ? 减法

? ? 2.5? ? 乘法

? ? ? ? 2.5.1? ? 加法迭代法

? ? ? ? 2.5.2? ? 部分积方法

? ? ? ? 2.5.3? ? 移位加方法

? ? ? ? 2.5.4? ? Booth和Robertson方法

? ? 2.6? ? 除法

? ? 2.7? ? 定点数格式的运算

? ? ? ? 2.7.1? ? 定点数的运算

? ? ? ? 2.7.2? ? 定点数的乘除

? ? 2.8? ? 浮点

? ? ? ? 2.8.1? ? 广义浮点数

? ? ? ? 2.8.2? ? IEEE754浮点标准

? ? ? ? 2.8.3? ? IEEE754标准模式

? ? ? ? ? ? 2.8.3.1? ? 规格化模式

? ? ? ? ? ? 2.8.3.2? ? 非规格化模式

? ? ? ? ? ? 2.8.3.3? ? 其他模式数

? ? ? ? 2.8.4? ? IEEE754数的范围

? ? 2.9? ? 浮点数处理

? ? ? ? 2.9.1? ? IEEE754数的加减运算

? ? ? ? 2.9.2? ? IEEE754数的乘除法

? ? ? ? 2.9.3? ? IEEE754中间格式

? ? ? ? 2.9.4? ? 舍入

? ? 小结? ? 思考题

第3章? ? CPU基础

? ? 3.1? ? 什么是计算机

? ? 3.2? ? 让计算机为你服务

? ? ? ? 3.2.1? ? 程序存储

? ? ? ? 3.2.2? ? 存储架构

? ? ? ? 3.2.3? ? 程序传输

? ? ? ? 3.2.4? ? 控制单元

? ? ? ? 3.2.5? ? 微指令

? ? ? ? 3.2.6? ? RISC和CISC的对比

? ? ? ? 3.2.7? ? 处理器实例

? ? 3.3? ? 指令处理

? ? ? ? 3.3.1? ? 指令集

? ? ? ? 3.3.2? ? 取指和译码

? ? ? ? ? ? 3.3.2.1? ? 指令译码

? ? ? ? ? ? 3.3.2.2? ? 取操作数

? ? ? ? ? ? 3.3.2.3? ? 分支

? ? ? ? ? ? 3.3.2.4? ? 立即数

? ? ? ? 3.3.3? ? 压缩指令集

? ? ? ? 3.3.4? ? 寻址模式

? ? ? ? 3.3.5? ? 堆栈机和逆波兰表示法

? ? 3.4? ? 数据处理

? ? ? ? 3.4.1? ? 数据的格式和表达

? ? ? ? 3.4.2? ? 数据流

? ? ? ? 3.4.3? ? 数据存储

? ? ? ? 3.4.4? ? 内部数据

? ? ? ? 3.4.5? ? 数据处理

? ? ? ? ? ? 3.4.5.1? ? 在小位宽CPU上处理大位宽数字

? ? ? ? ? ? 3.4.5.2? ? 定点CPU上的浮点数

? ? ? ? ? ? 3.4.5.3? ? 复数

? ? 3.5? ? 自顶向下方法

? ? ? ? 3.5.1? ? 计算机的能力

? ? ? ? ? ? 3.5.1.1? ? 功能

? ? ? ? ? ? 3.5.1.2? ? 时钟频率

? ? ? ? ? ? 3.5.1.3? ? 位宽

? ? ? ? ? ? 3.5.1.4? ? 内存

? ? ? ? 3.5.2? ? 性能衡量和统计

? ? ? ? 3.5.3? ? 性能评估

? ? 小结? ? 思考题

第4章? ? 处理器内部组成

? ? 4.1? ? 内部总线结构

? ? ? ? 4.1.1? ? 程序员的角度

? ? ? ? 4.1.2? ? 分解互联排列

? ? ? ? 4.1.3? ? ADSP21xx总线排列

? ? ? ? 4.1.4? ? 数据与程序同时访存

? ? ? ? 4.1.5? ? 双总线体系结构

? ? ? ? 4.1.6? ? 单总线体系结构

? ? 4.2? ? 算术逻辑单元

? ? ? ? 4.2.1? ? ALU功能

? ? ? ? 4.2.2? ? ALU设计

? ? 4.3? ? 内存管理单元

? ? ? ? 4.3.1? ? 对虚拟存储的需求

? ? ? ? 4.3.2? ? MMU操作

? ? ? ? 4.3.3? ? 退回算法

? ? ? ? 4.3.4? ? 内部存储碎片和片段

? ? ? ? 4.3.5? ? 外部碎片

? ? ? ? 4.3.6? ? 改进的MMU

? ? ? ? 4.3.7? ? 内存保护

? ? 4.4? ? cache

? ? ? ? 4.4.1? ? 直接相联cache

? ? ? ? 4.4.2? ? 组相联cache

? ? ? ? 4.4.3? ? 全相联cache

? ? ? ? 4.4.4? ? 局部性原则

? ? ? ? 4.4.5? ? cache替换算法

? ? ? ? 4.4.6? ? cache性能

? ? ? ? 4.4.7? ? cache一致性

? ? 4.5? ? 协处理器

? ? 4.6? ? 浮点运算单元

? ? ? ? 4.6.1? ? 浮点仿真

? ? 4.7? ? SIMD流指令扩展(SSE)和多媒体扩展

? ? ? ? 4.7.1? ? 多媒体扩展(MMX)

? ? ? ? 4.7.2? ? MMX实现

? ? ? ? 4.7.3? ? MMX的使用

? ? ? ? 4.7.4? ? SIMD流指令扩展(SSE)

? ? ? ? 4.7.5? ? 使用SSE和MMX

? ? 4.8? ? 嵌入式系统中的协处理

? ? 小结? ? 思考题

第5章? ? 提高CPU性能

? ? 5.1? ? CPU加速技术简介

? ? 5.2? ? 流水线

? ? ? ? 5.2.1? ? 多功能流水线

? ? ? ? 5.2.2? ? 动态流水线

? ? ? ? 5.2.3? ? 改变流水线模式

? ? ? ? 5.2.4? ? 数据相关冒险

? ? ? ? 5.2.5? ? 条件冒险

? ? ? ? 5.2.6? ? 条件分支

? ? ? ? 5.2.7? ? 编译时流水线补偿

? ? ? ? 5.2.8? ? 相对地址分支

? ? ? ? 5.2.9? ? 流水线的指令集补偿

? ? ? ? 5.2.10? ? 运行时流水线补偿

? ? 5.3? ? 复杂指令集(CISC)和精简指令集(RISC)

? ? 5.4? ? 超标量体系结构

? ? ? ? 5.4.1? ? 简单超标量

? ? ? ? 5.4.2? ? 多发送超标量

? ? ? ? 5.4.3? ? 超标量的性能

? ? 5.5? ? 每周期的指令数

? ? ? ? 5.5.1? ? 不同体系结构的IPC

? ? ? ? 5.5.2? ? IPC度量

? ? 5.6? ? 硬件加速器

? ? ? ? 5.6.1? ? 零开销循环

? ? ? ? 5.6.2? ? 地址处理硬件

? ? ? ? 5.6.3? ? 影子寄存器

? ? 5.7? ? 分支预测

? ? ? ? 5.7.1? ? 分支预测的必要性

? ? ? ? 5.7.2? ? 单T位预测器

? ? ? ? 5.7.3? ? 双位预测器

? ? ? ? 5.7.4? ? 计数器和移位器预测器

? ? ? ? 5.7.5? ? 局部分支预测器

? ? ? ? 5.7.6? ? 全局分支预测器

? ? ? ? 5.7.7? ? G选择预测器

? ? ? ? 5.7.8? ? G共享预测器

? ? ? ? 5.7.9? ? 混合预测器

? ? ? ? 5.7.10? ? 分支目标缓冲

? ? ? ? 5.7.11? ? 基本代码段

? ? ? ? 5.7.12? ? 分支预测总结

? ? 5.8? ? 并行机器

? ? ? ? 5.8.1? ? SISD向MIMD的演变

? ? ? ? 5.8.2? ? 为提高性能而采用并行

? ? ? ? 5.8.3? ? 其他并行处理

? ? 5.9? ? Tomasulo算法

? ? ? ? 5.9.1? ? Tomasulo算法的原理

? ? ? ? 5.9.2? ? Tomasulo系统的例子

? ? ? ? 5.9.3? ? 嵌入式系统中的Tomasulo算法

? ? 小结? ? 思考题

第6章? ? 外部总线

? ? 6.1? ? 总线接口

? ? ? ? 6.1.1? ? 总线控制信号

? ? ? ? 6.1.2? ? 直接存储器存取(DMA)

? ? 6.2? ? 并行总线规范

? ? 6.3? ? 标准接口

? ? ? ? 6.3.1? ? 系统控制接口

? ? ? ? 6.3.2? ? 系统数据总线

? ? ? ? ? ? 6.3.2.1? ? ISA总线及其衍生总线

? ? ? ? ? ? 6.3.2.2? ? PC/104

? ? ? ? ? ? 6.3.2.3? ? PCI

? ? ? ? ? ? 6.3.2.4? ? LVDS

? ? ? ? 6.3.3? ? 输入/输出总线

? ? ? ? 6.3.4? ? 外设器件总线

? ? ? ? 6.3.5? ? 与网络设备的接口

? ? 6.4? ? 实时性问题

? ? ? ? 6.4.1? ? 外部激励

? ? ? ? 6.4.2? ? 中断

? ? ? ? 6.4.3? ? 实时性定义

? ? ? ? 6.4.4? ? 时间范围参数

? ? ? ? 6.4.5? ? 硬件体系结构对实时操作系统的支持

? ? 6.5? ? 中断和中断处理

? ? ? ? 6.5.1? ? 中断的重要性

? ? ? ? 6.5.2? ? 中断过程

? ? ? ? ? ? 6.5.2.1? ? 中断事件通知处理器

? ? ? ? ? ? 6.5.2.2? ? CPU完成正在进行的工作

? ? ? ? ? ? 6.5.2.3? ? 转入中断服务例程

? ? ? ? ? ? 6.5.2.4? ? 中断重定向

? ? ? ? 6.5.3? ? 高级中断处理

? ? ? ? 6.5.4? ? 共享中断

? ? ? ? 6.5.5? ? 可重入代码

? ? ? ? 6.5.6? ? 软件中断

? ? 6.6? ? 无线

? ? ? ? 6.6.1? ? 无线技术

? ? ? ? 6.6.2? ? 无线接口

? ? ? ? 6.6.3? ? 无线相关问题

? ? 小结? ? 思考题

第7章? ? 实用嵌入式CPU

? ? 7.1? ? 概述

? ? 7.2? ? 微处理器不只是核

? ? 7.3? ? 功能需求

? ? 7.4? ? 时钟

? ? 7.5? ? 时钟与功耗

? ? ? ? 7.5.1? ? 传输延迟

? ? ? ? 7.5.2? ? 电流相关问题

? ? ? ? 7.5.3? ? 时钟问题解决方法

? ? ? ? 7.5.4? ? 低电压设计

? ? 7.6? ? 存储

? ? ? ? 7.6.1? ? 早期的计算机存储

? ? ? ? 7.6.2? ? 只读存储器

? ? ? ? 7.6.3? ? 随机存取存储器

? ? ? ? ? ? 7.6.3.1? ? 静态RAM

? ? ? ? ? ? 7.6.3.2? ? 动态RAM

? ? ? ? ? ? 7.6.3.3? ? DRAM的寻址机制

? ? 7.7? ? 分页与重叠

? ? 7.8? ? 嵌入式系统中的存储

? ? ? ? 7.8.1? ? 非易失存储器

? ? ? ? 7.8.2? ? 易失存储器

? ? ? ? 7.8.3? ? 其他存储器

? ? 7.9? ? 测试和验证

? ? ? ? 7.9.1? ? 集成电路设计和制造问题

? ? ? ? 7.9.2? ? 内置自测(BIST)

? ? ? ? 7.9.3? ? 联合测试行动小组(JTAG)

? ? 7.10? ? 错误检测和纠正

? ? 7.11? ? 看门狗定时器和复位监测

? ? 7.12? ? 逆向工程

? ? ? ? 7.12.1? ? 逆向工程过程

? ? ? ? ? ? 7.12.1.1? ? 功能分析

? ? ? ? ? ? 7.12.1.2? ? 物理结构分析

? ? ? ? ? ? 7.12.1.3? ? 材料清单

? ? ? ? ? ? 7.12.1.4? ? 系统架构

? ? ? ? 7.12.2? ? 详细的物理布局

? ? ? ? ? ? 7.12.2.1? ? 电气连接原理图

? ? ? ? ? ? 7.12.2.2? ? 存储程序

? ? ? ? ? ? 7.12.2.3? ? 软件

? ? 7.13? ? 防止逆向工程

? ? ? ? 7.13.1? ? 存储程序的被动模糊

? ? ? ? 7.13.2? ? 可编程逻辑家族

? ? ? ? 7.13.3? ? 主动RE防范

? ? ? ? 7.13.4? ? 主动RE防范分类

? ? 小结? ? 思考题

第8章? ? CPU设计

? ? 8.1? ? 软核处理器

? ? ? ? 8.1.1? ? 微处理器不仅仅有处理器核

? ? ? ? 8.1.2? ? 软核处理器的优点

? ? ? ? ? ? 8.1.2.1? ? 性能

? ? ? ? ? ? 8.1.2.2? ? 可用性

? ? ? ? ? ? 8.1.2.3? ? 效率

? ? ? ? ? ? 8.1.2.4? ? 人为因素

? ? 8.2? ? 软硬件协同设计

? ? 8.3? ? 现成的软核

? ? 8.4? ? 制作自己的软核

? ? 8.5? ? CPU设计规格说明

? ? ? ? 8.5.1? ? CPU体系结构

? ? ? ? 8.5.2? ? 总线

? ? ? ? 8.5.3? ? 程序及数据存储

? ? ? ? 8.5.4? ? 逻辑运算

? ? ? ? 8.5.5? ? 指令处理

? ? ? ? 8.5.6? ? 系统控制

? ? 8.6? ? 指令集

? ? ? ? 8.6.1? ? CPU控制

? ? ? ? ? ? 8.6.1.1? ? 闲置状态

? ? ? ? ? ? 8.6.1.2? ? 取指状态

? ? ? ? ? ? 8.6.1.3? ? 执行状态

? ? 8.7? ? CPU实现

? ? ? ? 8.7.1? ? 测试的重要性

? ? ? ? 8.7.2? ? 定义操作和状态:defs.v

? ? ? ? 8.7.3? ? 第一个小模块:counter.v

? ? ? ? 8.7.4? ? CPU控制:state.v

? ? ? ? 8.7.5? ? 程序和变量存储:ram.v

? ? ? ? 8.7.6? ? 堆栈:stack.v

? ? ? ? 8.7.7? ? 算术,逻辑和乘法单元:alu.v

? ? ? ? 8.7.8? ? 综合测试:tinycpu.v

? ? 8.8? ? CPU测试及运行

? ? 8.9? ? 编程并使用CPU

? ? ? ? 8.9.1? ? 编写TinyCPU程序

? ? ? ? 8.9.2? ? TinyCPU编程工具

? ? 小结? ? 思考题

第9章? ? 未来

? ? 9.1? ? 单比特体系结构

? ? ? ? 9.1.1? ? 位串行加法

? ? ? ? 9.1.2? ? 位串行减法

? ? ? ? 9.1.3? ? 位串行逻辑电路和处理

? ? 9.2? ? 超长指令字体系结构

? ? ? ? 9.2.1? ? VLIW的基本原理

? ? ? ? 9.2.2? ? VLIW的难题

? ? 9.3? ? 并行与大规模并行计算机

? ? ? ? 9.3.1? ? 大型计算机集群

? ? ? ? 9.3.2? ? 小型计算机集群

? ? ? ? ? ? 9.3.2.1? ? 从嵌入式系统中解放计算资源

? ? ? ? ? ? 9.3.2.2? ? 并行处理单元

? ? ? ? 9.3.3? ? 并行和集群处理注意事项

? ? ? ? 9.3.4? ? 互连策略

? ? 9.4? ? 异步处理器

? ? ? ? 9.4.1? ? 数据流控制

? ? ? ? 9.4.2? ? 避免流水线冒险

? ? 9.5? ? 替代数字格式系统

? ? ? ? 9.5.1? ? 多值逻辑

? ? ? ? 9.5.2? ? 带符号数字的表示

? ? 9.6? ? 光计算

? ? ? ? 9.6.1? ? 光电全加器

? ? ? ? 9.6.2? ? 光电底板

? ? 9.7? ? 科幻小说还是未来的现实

? ? ? ? 9.7.1? ? 分布式计算

? ? ? ? 9.7.2? ? 湿件(大脑)

? ? 小结

附录A? ? 内存大小的标准表示方法

附录B? ? 开放系统互连模型

? ? B.1? ? 引言

? ? B.2? ? OSI层次

? ? B.3? ? 小结

附录C? ? 探索cache大小和结构安排的权衡设计方法

? ? C.1? ? 引言

? ? C.2? ? 准备工作

? ? C.3? ? 安装Cacti和Dinero

? ? C.4? ? 工具的使用

? ? C.5? ? 不同cache设计方案的实验

? ? C.6? ? cache设计中的进一步信息

? ? 思考题

附录D? ? 嵌入式计算机上的无线技术

? ? D.1? ? 引言

? ? D.2? ? 802.11a,b和g

? ? D.3? ? 802.11n

? ? D.4? ? 802.20

? ? D.5? ? 802.16

? ? D.6? ? 蓝牙

? ? D.7? ? GSM

? ? D.8? ? GPRS

? ? D.9? ? ZigBee

? ? D.10? ? 无线USB

? ? D.11? ? 近距离通信

? ? D.12? ? WiBro

? ? D.13? ? 无线设备总结

? ? D.14? ? 应用举例

? ? D.15? ? 小结

附录E? ? 编译和仿真TinyCPU的工具

? ? E.1? ? 准备和软件获取

? ? E.2? ? 如何编译和仿真Verilog

? ? E.3? ? 如何查看仿真输出

? ? E.4? ? 高级测试平台

? ? E.5? ? 小结

附录F? ? TinyCPU编译和汇编代码的工具

? ? F.1? ? 引言

? ? F.2? ? 汇编过程

? ? F.3? ? 汇编器

? ? F.4? ? 汇编程序实例

? ? F.5? ? 编译器

? ? F.6? ? 小结

索引


https://www.xamrdz.com/backend/3sh1945707.html

相关文章: