数字设计和计算机体系结构(计算机科学丛书)
分類: 图书,电子与通信,基本电子电路,数字电路,
品牌: 哈里斯
基本信息·出版社:机械工业出版社
·页码:395 页
·出版日期:2009年
·ISBN:7111254597/9787111254591
·条形码:9787111254591
·包装版本:1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:计算机科学丛书
产品信息有问题吗?请帮我们更新产品信息。
内容简介《数字设计和计算机体系结构》以一种流行的方式介绍了从计算机组织和设计到更细节层次的内容,涵盖了数字逻辑设计的主要内容,展示了使用VHDL和Verilog这两种主要硬件描述语言设计MIPS处理器的技术细节,并通过MIPS微处理器的设计强化数字逻辑的概念。《数字设计和计算机体系结构》的典型特色是将数字逻辑和计算机体系结构融合,教学内容反映了当前数字电路设计的主流方法,并突出计算机体系结构的工程特点,书中的大量示例及习题设计也可以加强读者对基本概念和技术的理解和记忆。
《数字设计和计算机体系结构》不仅适合作为计算机、电子工程、电气与控制等专业的教材,同时也适合从事数字电路设计的工程师和技术人员参考。
作者简介David Money Harris,哈维玛德学院工程学副教授他曾经为英特尔、惠普、Sun等公司设计微处理器。
SarahL,Harris,哈维玛德学院工程学副教授。她在斯坦福大学获得电子工程埘士学位,擅长计算机体系结构设计和系统设计。
编辑推荐《数字设计和计算机体系结构》为计算机科学丛书之一。
目录
出版者的话
相关评论
译者序
前言
第1章 二进制
1.1 课程计划
1.2 控制复杂性的艺术
1.2.1 抽象
1.2.2 约束
1.2.3 三条原则
1.3 数字抽象
1.4 数字系统
1.4.1 十进制数
1.4.2 二进制数
1.4.3 十六进制数
1.4.4 字节,半字节和全字
1.4.5 二进制加法
1.4.6 有符号的二进制数
1.5 逻辑门
1.5.1 非门
1.5.2 缓冲
1.5.3 与门
1.5.4 或门
1.5.5 其他二输入逻辑门
1.5.6 多输入门
1.6 数字抽象之下
1.6.1 电源电压
1.6.2 逻辑电平
1.6.3 噪声容限
1.6.4 直流电压传输特性
1.6.5 静态约束
1.7 CMOS晶体管
1.7.1 半导体
1.7.2 二极管
1.7.3 电容
1.7 4nMos和pMOS晶体管
1.7.5 CMOS非门
1.7.6 其他CMOS逻辑门
1.7.7 传输门
1.7.8 类nMOS逻辑
1.8 功耗
1.9 总结和展望
习题
第2章 组合逻辑设计
2.1 引言
2.2 布尔表达式
2.2.1 术语
2.2.2 与或式
2.2.3 或与式
2.3 布尔代数
2.3.1 公理
2.3.2 单变量定理
2.3.3 多变量定理
2.3.4 定理的统一证明方法
2.3.5 等式化简
2.4 从逻辑到门
2.5 多级组合逻辑
2.5.1 减少硬件
2.5.2 推气泡
2.6 X和Z
2.6.1 非法值x
2.6.2 浮空值z
2.7 卡诺图
2.7.1 画圈的原理
2.7.2 卡诺图化简逻辑
2.7.3 无关项
2.7.4 小结
2.8 组合逻辑模块
2.8.1 多路选择器
2.8.2 译码器
2.9 时序
2.9.1 传输延迟和最小延迟
2.9.2 毛刺
2.10 总结
习题
第3章 时序逻辑设计
3.1 引言
3.2 锁存器和触发器
3.2.1 SR锁存器
3.2.2 D锁存器
3.2.3 D触发器
3.2.4 寄存器
3.2.5 带使能端的触发器
3.2.6 带复位功能的触发器
3.2.7 晶体管级的锁存器和触发器设计
3.2.8 小结
3.3 同步逻辑设计
3.3.1 一些有问题的电路
3.3.2 同步时序电路
3.3.3 同步和异步电路
3.4 有限状态机
3.4.1 有限状态机设计实例
3.4.2 状态编码
3.4.3 Moore型状态机和Mealy型状态机
3.4.4 状态机的分解
3.4.5 有限状态机小结
3.5 时序逻辑电路的时序
3.5.1 动态约束
3.5.2 系统时序
3.5.3 时钟偏移
3.5 4亚稳态
3.5.5 同步器
3.5.6 分辨时间的推导
3.6 并行
3.7 总结
习题
第4章 硬件描述语言
4.1 引言
4.1.1 模块
4.1.2 硬件描述语言的起源
4.1.3 模拟和综合
4.2 组合逻辑
4.2.1 按位操作符
4.2.2 注释和空格
4.2.3 缩减运算符
4.2.4 条件赋值
4.2.5 内部变量
4.2.6 优先级
4.2.7 数字
4.2.8 z和x
4.2.9 位混合
4.2.1 0延迟
4.2.1 1VHDL库和类型
4.3 结构建模
4.4 时序逻辑
4.4.1 寄存器
4.4.2 可复位寄存器
4.4.3 带使能端的寄存器
4.4.4 多寄存器
4.4.5 锁存器
4.5 更多组合逻辑
4.5.1 选择语句
4.5.2 if语句
4.5.3 Verilog的easez语句
4.5.4 阻塞式和非阻塞式赋值
4.6 有限状态机
4.7 参数化模块
4.8 测试程序
4.9 总结
习题
第5章 常见数字模块
5.1 引言
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.3 数制系统
5.3.1 定点数系统
5.3.2 浮点数系统
5.4 时序电路模块
5.4.1 计数器
5.4.2 移位寄存器
5.5 存储器阵列
5.5.1 概述
5.5.2 动态随机访问存储器
5.5.3 静态随机访问存储器
5.5.4 面积和延迟
5.5.5 寄存器文件
5.5.6 只读存储器
5.5.7 使用存储器阵列的逻辑
5.5.8 存储器的硬件描述语言
5.6 逻辑阵列
5.6.1 可编程逻辑阵列
5.6.2 现场可编程门阵列
5.6.3 阵列实现
5.7 总结
习题
第6章 体系结构
6.1 引言
6.2 汇编语言
6.2.1 指令
6.2.2 操作数:寄存器、存储器和常数
6.3 机器语言
6.3.1 R一类型指令
6.3.2 I一类型指令
6.3.3 J一类型指令
6.3.4 解释机器语言码
6.3.5 程序存储
6.4 编程
6.4.1 算术/逻辑指令
6.4.2 分支
6.4.3 条件语句
6.4.4 循环
6.4.5 数组
6.4.6 过程调用
6.5 寻址方式
6.6 编译、汇编和加载
6.6.1 内存图
6.6.2 转换成二进制代码和开始执行程序
6.7 其他主题
6.7.1 伪指令
6.7.2 异常
6.7.3 有符号和无符号的指令
6.7.4 浮点指令
6.8 真实世界透视:IA一32结构
6.8.1 IA一32的寄存器
6.8.2 IA一32的操作数
6.8.3 状态标志
6.8.4 IA一32指令集
6.8.5 IA一32指令编码
6.8.6 IA一32的其他特性
6.8.7 小结
6.9 总结
习题
第7章 微结构
7.1 引言
7.1.1 体系结构状态和指令集
7.1.2 设计过程
7.1.3 MIPS微结构
7.2 性能分析
7.3 单周期处理器
7.3.1 单周期数据路径
7.3.2 单周期控制
7.3.3 更多指令
7.3.4 性能分析
7.4 多周期处理器
7.4.1 多周期数据路径
7.4.2 多周期控制
7.4.3 更多指令
7.4.4 性能分析
7.5 流水线处理器
7.5.1 流水线数据路径
7.5.2 流水线控制
7.5.3 冲突
7.5.4 更多指令
7.5.5 性能分析
7.6 硬件描述语言表示
7.6.1 单周期处理器
7.6.2 通用模块
7.6.3 测试程序
7.7 异常
7.8 高级微结构
7.8.1 深流水线
7.8.2 分支预测
7.8.3 超标量处理器
7.8.4 乱序处理器
7.8.5 寄存器重命名
7.8.6 单指令流多数据流
7.8.7 多线程
7.8.8 多处理器
7.9 现实世界透视:IA一32微结构
7.10 总结
习题
第8章 存储器系统
8.1 引言
8.2 存储器系统性能分析
8.3 高速缓存
8.3.1 高速缓存中存放的数据
8.3.2 高速缓存中的数据查找
8.3.3 数据的替换
8.3.4 高级高速缓存设计
8.3.5 MIPS处理器中高速缓存的发展
8.4 虚拟存储器
8.4.1 地址转换
8.4.2 页表
8.4.3 地址转换后备缓冲
8.4.4 存储器保护
8.4.5 替换策略
8.4.6 多级页表
8.5 内存映射I/O
8.6 现实世界透视:IA一32存储器和I/O系统
8.6.1 IA一32高速缓存系统
8.6.2 IA一32虚拟存储器
8.6.3 IA一32的直接I/O编程机制
8.7 总结
习题
附录A数字系统实现
附录BMIPS指令
延伸阅读材料
……[看更多目录]
序言目前已经有很多优秀的数字逻辑设计书籍,也有一些很好的计算机体系结构教材(例如Patterson和IHennessy撰写的经典教材),为什么还需要再出版一本包含了数字逻辑设计和体系结构的书呢?这本书的独特之处在于从计算机体系结构的视角来讲解数字逻辑设计,内容从基本的二进制开始,直到引导学生完成MPS处理器的设计。
多年来,我们曾在HarveyMudd学院使用了多个版本的《ComputerOrganizationandDesign》一书(由Patterson和Hennessy撰写)。我们特别欣赏该书涵盖了MIPs处理器的体系结构和微结构这种风格,MIPS处理器是获得了商业成功的体系结构,而且它也非常简单,可以用作学生的引导课程,也可由学生自主设计和实现。由于我们的课程没有预修课程,前半个学期需要介绍数字逻辑设计,而这部分内容《ComputerOrganizationandDesign》没有包含。其他大学也表示需要一本能包含数字电路设计和体系结构的教材。于是,我们开始着手准备这样一本包含了数字逻辑设计和体系结构的书。
我们相信设计处理器对于电子工程和计算机专业的学生来说是一个特殊而重要的经历。对于外行而言,处理器内部的工作几乎像魔术一样,然而事实证明,如果详细解释的话,处理器的工作原理非常易于理解。数字逻辑设计本身是一个强有力且令人激动的主题。汇编语言程序揭示了处理器内部所用的语言。而微结构将两者联系在一起。
这本书适合作为在一个学期内完成教学的数字逻辑设计和计算体系结构的入门课程,也可以用于两个学期的教学,以便有更多的时间来消化和理解书中所讲的知识并在实验室中进行实践。唯一需要的预修内容是熟悉一种高级程序设计语言(例如C、C++或Java)。本教材一般在大学本科二年级或者三年级使用,也可以提供给有编程经验和基础较好的一年级学生学习。
文摘插图:
第1章二进制
1.1课程计划
在过去的三十年里,微处理器彻底变革了我们的世界。现在一台膝上笔记本电脑的计算能力都远远超过了过去一个房间大小的大型计算机。高级汽车上包含了大约50个微处理器。微处理器的进步使得移动电话和Internet成为可能,极大地促进了医学的进步,也改变了战争的式样。全球集成电路工业销售额从1985年的210亿美元发展到2005年的2270亿美元,其中微处理器占到了重要部分。我们相信微处理器对技术、经济和社会有重要意义,而且它也潜在地激发了人类的创造力。在读者学习完这本书后,将学会如何设计和构造一个属于自己的微处理器。这些基本技能将为读者设计其他数字系统奠定坚实的基础。我们假设读者对电子学有基本的认识,有一定的编程经验和基础,同时对理解微处理器的内部运行原理有真正的兴趣。这本书将集中讨论基于0和l的数字系统的设计。我们从接收0和1作为输入,产生0和l作为输出的逻辑门开始本课程。接着,我们将研究如何利用这些逻辑门构成加法器、存储器等比较复杂的模块。随后,我们将学习使用以微处理器的语言——汇编语言进行程序设计。最后,我们将上述内容结合起来以构造一个能执行汇编程序的微处理器。
数字系统的一个重要特点是其构造模块相当简单:仅仅包括了0和1。它不需要繁杂的数学知识或高深的物理学知识。相反,设计者的最大挑战是如何将这些简单的部件组合起来构成复杂的系统。微处理器可能是读者构造的第一个复杂系统,其复杂性可能一下子难以全部接受。因此,如何控制复杂性是贯穿全书的一个重要主题。