顶部
收藏

计算机组成与实现


作者:
高小鹏
定价:
45.00元
ISBN:
978-7-04-051045-4
版面字数:
490.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
暂无
出版时间:
2019-03-11
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
计算机组织与体系结构

本书为“基于系统能力培养的计算机专业课程建设研究”项目规划教材,根据北京航空航天大学对计算机专业系统能力培养十二年改革成果编写而成。本课程的教学目标为:开发一个具有数十条指令规模且通过严格测试的功能型CPU。

本书根据设计一台计算机的教学要求,重新梳理了课程体系,涉及传统意义上的数字逻辑、汇编语言和计算机组成3门课程的相关知识,包括计算机概述、数据表示与运算方法、计算机指令、单周期CPU、多周期CPU、流水线设计、存储层次、输入输出和MIPS微系统。本书通过CPU开发案例,引导读者学会“形式建模综合方法”、体会系统设计的思想精要。

本书可作为本科计算机类专业计算机组成课程教材,也可供有关技术人员参考。

  • 前辅文
  • 第1章 计算机概述
    • 1.1 计算机的应用及其分类
    • 1.2 计算机的基本硬件构成
      • 1.2.1 输入输出设备
      • 1.2.2 主存储器
      • 1.2.3 中央处理器
    • 1.3 计算机的层次结构
    • 1.4 本章小结
    • 思考题
  • 第2章 数据表示与运算方法
    • 2.1 常见进制及其转换
      • 2.1.1 十进制
      • 2.1.2 二进制
      • 2.1.3 十六进制
    • 2.2 字节、字等常用术语
    • 2.3 二进制加法
    • 2.4 整数的二进制表示方法
      • 2.4.1 原码
      • 2.4.2 补码
    • 2.5 浮点数的二进制表示方法
    • 2.6 补码的常见基本运算
      • 2.6.1 负数的二进制补码表示
      • 2.6.2 减法
      • 2.6.3 符号扩展
      • 2.6.4 比较
      • 2.6.5 乘法
      • 2.6.6 除法
    • 2.7 本章小结
    • 思考题
  • 第3章 计算机指令
    • 3.1 程序执行的基本原理
      • 3.1.1 程序的全流程概述
      • 3.1.2 主存储器
      • 3.1.3 CPU
      • 3.1.4 指令与指令集
      • 3.1.5 示例程序执行过程解读
      • 3.1.6 小结
    • 3.2 计算器:一个综合案例
    • 3.3 指令格式及其操作数
      • 3.3.1 指令基本格式
      • 3.3.2 第1类操作数:寄存器
      • 3.3.3 第2类操作数:立即数
      • 3.3.4 第3类操作数:主存单元
    • 3.4 指令集与汇编程序
      • 3.4.1 汇编程序基本结构
      • 3.4.2 主存变量声明
      • 3.4.3 读存储器
      • 3.4.4 写存储器
      • 3.4.5 寄存器加载立即数高位
      • 3.4.6 算术运算
      • 3.4.7 逻辑运算
      • 3.4.8 分支指令与if-else、switch及循环结构
      • 3.4.9 伪指令
      • 3.4.10 移位指令
      • 3.4.11 函数
      • 3.4.12 空操作指令
    • 3.5 指令编码
      • 3.5.1 R型指令
      • 3.5.2 I型指令
      • 3.5.3 J型指令
    • 3.6 汇编与反汇编实战
      • 3.6.1 汇编
      • 3.6.2 反汇编
    • 3.7 本章小结
    • 思考题
  • 第4章 单周期CPU
    • 4.1 设计方法学概述
      • 4.1.1 系统的观点
      • 4.1.2 机制与策略
      • 4.1.3 高内聚与低耦合
      • 4.1.4 形式建模综合方法概述
    • 4.2 单周期CPU设计模型
      • 4.2.1 MIPS-C0指令集
      • 4.2.2 单周期CPU的基本结构
      • 4.2.3 完整的数据通路模型
      • 4.2.4 完整的单周期CPU模型
    • 4.3 数据通路基础部件建模
      • 4.3.1 程序计数器
      • 4.3.2 次地址计算单元
      • 4.3.3 指令存储器
      • 4.3.4 寄存器堆
      • 4.3.5 数据存储器
      • 4.3.6 算术逻辑单元
    • 4.4 建模指令的数据通路与控制信号真值表
      • 4.4.1 建模addu和subu
      • 4.4.2 建模ori
      • 4.4.3 建模lw
      • 4.4.4 建模sw
      • 4.4.5 建模beq
      • 4.4.6 建模sltu
      • 4.4.7 建模jal
      • 4.4.8 建模jr
    • 4.5 数据通路的综合方法
    • 4.6 控制器的综合方法
    • 4.7 单周期CPU性能分析
      • 4.7.1 数字电路时钟频率计算方法
      • 4.7.2 Add执行延迟分析
      • 4.7.3 单周期CPU执行延迟分析
    • 4.8 本章小结
    • 思考题
  • 第5章 多周期CPU
    • 5.1 破解关键路径的一般方法
    • 5.2 建模多周期数据通路
    • 5.3 建模多周期数据通路执行过程
      • 5.3.1 分段的电路模型及时序模型
      • 5.3.2 多周期形式建模综合方法概述
      • 5.3.3 建模lw执行过程
      • 5.3.4 建模sw执行过程
      • 5.3.5 建模addu、subu执行过程
      • 5.3.6 建模ori执行过程
      • 5.3.7 建模beq执行过程
      • 5.3.8 建模lui执行过程
      • 5.3.9 建模jal执行过程
      • 5.3.10 建模方法小结
    • 5.4 形式建模多周期控制器
      • 5.4.1 构造控制信号的扩展真值表
      • 5.4.2 构造状态机
      • 5.4.3 构造时钟周期变量
    • 5.5 多周期CPU性能分析
    • 5.6 与其他方案对比
      • 5.6.1 数据通路设计对比
      • 5.6.2 控制器设计对比
    • 5.7 本章小结
    • 思考题
  • 第6章 流水线CPU
    • 6.1 流水线概述
    • 6.2 流水线数据通路
    • 6.3 流水线控制
    • 6.4 流水线冒险
      • 6.4.1 结构冒险
      • 6.4.2 数据冒险
      • 6.4.3 控制冒险
      • 6.4.4 冒险总结
    • 6.5 性能分析
    • 6.6 3种CPU模型对比
    • 6.7 本章小结
    • 思考题
  • 第7章 存储层次
    • 7.1 概述
      • 7.1.1 存储层次的设计动因
      • 7.1.2 存储层次的常用概念
      • 7.1.3 典型的存储层次
    • 7.2 cache
      • 7.2.1 直接映射cache
      • 7.2.2 组相联cache
      • 7.2.3 全相联cache
      • 7.2.4 cache的读写细节
      • 7.2.5 cache块替换策略
      • 7.2.6 多级cache及性能计算
      • 7.2.7 实现直接映射cache
    • 7.3 虚拟存储
      • 7.3.1 CPU地址与存储器地址
      • 7.3.2 基本原理
      • 7.3.3 地址转换
      • 7.3.4 页表
      • 7.3.5 页表缓冲区
      • 7.3.6 集成TLB与cache
      • 7.3.7 存储保护与共享
      • 7.3.8 页面替换
    • 7.4 硬盘
    • 7.5 本章小结
    • 思考题
  • 第8章 输入输出
    • 8.1 典型的输入输出系统
    • 8.2 总线基础
    • 8.3 I/O接口基本功能与结构
    • 8.4 程序访问设备
      • 8.4.1 寄存器的表示
      • 8.4.2 寄存器的地址
      • 8.4.3 硬件支持访问
      • 8.4.4 设备判断当前地址
      • 8.4.5 软硬件集成
    • 8.5 PCI总线概述
      • 8.5.1 主设备与从设备
      • 8.5.2 总线信号概述
      • 8.5.3 总线传输时序分析
    • 8.6 PCI总线实现P&amp
      • 8.6.1 不堪回首的痛苦
      • 8.6.2 直观思路
      • 8.6.3 自动配置技术方案
      • 8.6.4 配置空间
      • 8.6.5 PCI设备译码方案
    • 8.7 中断
      • 8.7.1 为什么需要中断
      • 8.7.2 中断处理的硬件机制
      • 8.7.3 中断服务程序框架
      • 8.7.4 防止中断重入
      • 8.7.5 中断的其他话题
    • 8.8 3种数据传输方式
    • 8.9 异常
    • 8.10 本章小结
    • 思考题
  • 第9章 集成MIPS微系统
    • 9.1 概述
      • 9.1.1 动机
      • 9.1.2 目标
      • 9.1.3 实验环境
    • 9.2 MIPS体系结构
      • 9.2.1 地址空间分配
      • 9.2.2 协处理器
      • 9.2.3 协处理器指令
    • 9.3 定时概述
      • 9.3.1 定时模式介绍
      • 9.3.2 寄存器定义
    • 9.4 串行通信概述
      • 9.4.1 波特率
      • 9.4.2 字符帧格式
      • 9.4.3 波特率与时钟
      • 9.4.4 数据发送与接收
      • 9.4.5 UART控制器
      • 9.4.6 RS-232接口标准
      • 9.4.7 微系统与HOST通信
      • 9.4.8 MiniUART基本特性
    • 9.5 完善CPU设计
      • 9.5.1 CP0设计
      • 9.5.2 支持CP0
      • 9.5.3 支持设备
    • 9.6 通过系统桥连接设备
      • 9.6.1 连接方式概述
      • 9.6.2 系统桥设计
    • 9.7 定时器设计
      • 9.7.1 接口信号分析
      • 9.7.2 计数功能设计
    • 9.8 MiniUART设计
      • 9.8.1 接口信号分析
      • 9.8.2 内部逻辑功能分析
      • 9.8.3 发送移位寄存器与接收移位寄存器
      • 9.8.4 发送控制器
      • 9.8.5 接收控制器
      • 9.8.6 线路状态寄存器设计
      • 9.8.7 中断控制单元设计
      • 9.8.8 总线接口单元设计
      • 9.8.9 MiniUART硬件设计
    • 9.9 软件开发
      • 9.9.1 软件设计概述
      • 9.9.2 消除中断服务程序代码规模的限制
      • 9.9.3 代码生成的要点
    • 9.10 软硬件协同分析
    • 9.11 本章小结
    • 思考题
  • 附录A MIPS-C指令集
    • A.1 MIPS-C指令表
    • A.2 MIPS-C指令图
    • A.3 指令分类
    • A.4 MIPS-C指令定义(按字母排序)
  • 附录B 开发工具及实验环境
    • B.1 硬件实验
    • B.2 FPGA实验设备
    • B.3 MIPS模拟器
    • B.4 图形化的数字电路模拟器
  • 参考文献

本课程的教学目标为:开发一个具有数十条指令规模且通过严格测试的功能型CPU。

本课程在北京航空航天大学对学生计算机专业系统能力培养十二年改革成果的基础上,梳理了课程体系,涉及传统意义上的数字逻辑、汇编语言和计算机组成3门课程的相关知识,包括计算机概述、数据表示与运算方法、计算机指令、单周期CPU、多周期CPU、流水线设计、存储层次、输入输出和MIPS微系统。通过CPU开发案例,引导读者学会“形式建模综合方法”、体会系统设计的思想精要。

相关图书