第1章 概论 1
1.1 从外部观察计算机 2
1.2 数字计算机与模拟计算机 6
1.3 计算机的内部结构 6
1.3.1 计算机硬件的组成 7
1.3.2 计算机软件的组成 11
1.4 微型计算机的主要指标 13
1.5 计算机的发展与应用 14
1.5.1 制造工艺进步导致计算机性能提高 14
1.5.2 计算机的普及与应用导致计算机产业发展 15
1.5.3 远景展望 16
本章小结 17
习题 17
2.1.1 适合于人的数据表示形式 19
第2章 数码系统——数据在计算机内部的表示形式 19
2.1 数据表示形式的多样性 19
2.1.2 适合于计算机的表示形式——编码 20
2.1.3 数据格式的相互转换 28
2.2 机器数的编码格式 31
2.2.1 二进制定点数的原码表示形式 32
2.2.2 二进制定点数的补码表示形式 34
2.2.3 二进制定点小数的反码表示形式 42
2.2.4 十进制数的二进制编码及运算 43
2.2.5 浮点数的编码形式 46
2.3 信息传输过程中的检错/纠错码 47
2.3.1 奇偶校验码 48
2.3.2 海明校验码 49
2.3.3 循环冗余校验码 51
本章小结 56
习题 57
第3章 用数字电路实现数据的存储与运算 62
3.1 数字集成电路的基本元件——逻辑门 63
3.1.1 MOS晶体管 63
3.1.2 逻辑门 65
3.2 定点数的简单算术运算 70
3.2.1 简单二进制加法器的实现(举例) 70
3.2.2 简单二进制减法器的实现(举例) 78
3.2.3 定点二进制数的补码加减法运算器 78
3.2.4 定点二进制数乘法运算部件的实现 80
3.2.5 定点二进制数除法运算部件的实现 82
3.2.6 逻辑运算的实现(举例) 82
3.3 数据的存储 83
3.4.1 正数的定点小数乘法运算 87
3.4 二进制定点数的乘法运算 87
3.4.2 补码的乘法运算 92
3.5 二进制定点数的除法运算 97
3.5.1 正数的定点小数除法运算 97
3.5.2 补码的除法运算 100
3.6 浮点数的算术运算 104
3.6.1 浮点数的加减运算 104
3.6.2 浮点数的乘除运算 105
3.6.3 阶码的表示形式——补码和移码 107
3.6.4 浮点数四则运算的小结 108
3.7 算术逻辑运算单元(ALU)举例 109
本章小结 111
习题 111
第4章 计算机的核心部件——处理器 114
4.1 处理器的工作过程简介 114
4.3 指令格式(机器码格式) 116
4.2 数据在内存中与在处理器中的表示方式 116
4.3.1 操作码 117
4.3.2 地址码 118
4.4 寻址(编址)方式 119
4.4.1 基本寻址方式概述 120
4.4.2 寻址方式举例 122
4.5 一个简单处理器(简化模型)的指令系统 123
4.6 处理器的组成与设计 125
4.6.1 处理器的组成 125
4.6.2 处理器和内存的相互联系 127
4.6.3 控制器 127
4.6.4 处理器指令执行的详细流程 130
4.6.5 处理器的(VHDL)行为描述 135
4.6.6 处理器与内存相连组成一台计算机 143
4.7 流水线技术 149
4.8 精简指令系统计算机(RISC) 151
本章小结 152
习题 152
第5章 多级结构的存储器系统 154
5.1 概述 154
5.2 存储器分类 155
5.3 主存储器的基本原理 156
5.3.1 静态存储器的基本原理 158
5.3.2 动态存储器的基本原理 159
5.3.3 只读存储器(ROM) 160
5.3.4 主存储器的主要技术指标 162
5.4 构成主存储器的有关技术 163
5.4.1 主存容量的扩展 163
5.4.2 单向数据总线和双向数据总线 164
5.4.3 地址码的一级译码和二级译码 165
5.4.5 主存的并行读写技术 167
5.4.4 主存的检错与纠错 167
5.4.6 CPU与主存的协同工作——同步与异步 169
5.4.7 同步动态随机存储器 169
5.4.8 Rambus DRAM 170
5.4.9 双端口存储器 170
5.4.10 在DRAM芯片内加入缓存 171
5.5 辅助存储器 171
5.5.1 磁记录原理与记录方式 171
5.5.2 磁盘存储器 174
5.5.3 磁盘阵列存储器 176
5.5.4 光盘存储器 178
5.5.5 移动式存储器 181
5.6 高速缓冲存储器 181
5.6.1 高速缓存的工作原理 182
5.6.2 地址映像 183
5.6.3 替换算法和更新策略 185
5.7 虚拟存储器 187
5.7.1 虚拟存储器的基本概念 187
5.7.2 段式虚拟存储器 187
5.7.3 页式虚拟存储器 188
5.7.4 段页式虚拟存储器 189
5.7.5 快表与慢表 190
本章小结 191
习题 191
第6章 计算机的输入输出设备 194
6.1 图形和图像的点阵表示 195
6.2 键盘输入设备 196
6.3 定位输入设备 197
6.3.1 鼠标器 197
6.4 扫描仪 198
6.4.1 扫描仪的工作原理 198
6.3.3 触摸板 198
6.3.2 轨迹球 198
6.4.2 扫描仪的性能指标 199
6.5 显示器 199
6.5.1 CRT显示器 200
6.5.2 液晶显示器 202
6.6 打印机 203
6.6.1 针式打印机 203
6.6.2 喷墨打印机 205
6.6.3 激光打印机 206
6.7 汉字输入 206
本章小结 208
习题 208
7.1 概述 210
第7章 计算机的输入输出系统 210
7.2 计算机总线 212
7.2.1 总线类型 212
7.2.2 总线判优与仲裁 213
7.2.3 总线通信控制 216
7.2.4 总线的标准化和性能指标 218
7.2.5 总线举例 219
7.3 输入输出接口 222
7.3.1 接口的功能与组成 222
7.3.2 接口的分类 224
7.3.3 串行接口的通信协议 224
7.4 程序直接控制的输入输出方式 226
7.5 程序中断输入输出方式 228
7.5.1 中断的基本概念 228
7.5.2 中断请求与判优 229
7.5.3 中断响应与中断处理 232
7.5.4 多重中断中的现场保存与恢复 234
7.6 DMA输入输出方式 235
7.6.1 基本概念 235
7.6.2 DMA接口 237
7.6.3 DMA的工作方式 238
7.6.4 DMA的数据传送过程 238
7.7 通道控制与外围处理机控制方式 239
7.8 可编程接口电路举例——8255 240
7.9 8255的VHDL行为描述 245
本章小结 250
习题 251
附录A EDA工具QuartusⅡ简介 253
A.1 QuartusⅡ的安装与运行 254
A.1.1 QuartusⅡ的首次安装 254
A.1.2 申请授权文件 255
A.1.3 改变QuartusⅡ主界面的样式 256
A.2 设计流程 257
A.3 项目的建立与版本管理 259
A.3.1 建立一个新项目 259
A.3.2 QuartusⅡ项目的版本管理 261
A.4 设计的原理图描述 263
A.4.1 进入原理图编辑器 263
A.4.2 从元件库中调入元件符号 264
A.4.3 绘制原理图 265
A.5 设计的VHDL描述 266
A.5.1 进入文本编辑器 267
A.5.2 在文本编辑器中编辑VHDL文件 267
A.5.3 发现并纠正VHDL代码中的错误 268
A.5.4 保存文件 270
A.6 综合和编译 270
A.6.1 进入编译器 270
A.6.2 发现并纠正原理图中的错误 272
A.7 模拟验证 273
A.7.1 使用波形编辑器绘制测试向量波形 273
A.7.2 执行模拟 276
A.8 层次化设计实例 278
A.8.1 在原理图编辑器中实现层次化设计 279
A.8.2 VHDL设计描述与原理图混合使用的层次化设计 281
A.9 时序分析器 284
A.10 调用带参数的库元件 286
A.10.1 在原理图编辑器中创建一个存储器 286
A.10.2 初始化存储器的内容 291
A.10.3 存储器的模拟实例 291
A.11 可编程器件的物理实现 292
A.11.1 引脚分配 293
A.11.2 对目标器件编程 296
A.12 用SignalTap Ⅱ实时测试FPGA中的信号波形 298
附录B 硬件描述语言VHDL简介 303
B.1 VHDL的产生与发展 303
B.2 用VHDL建立电路模型 304
B.2.1 电路模型 304
B.2.2 实体声明与结构体 306
B.2.3 结构体的描述方式 307
B.2.4 标识符 308
B.3 面向模拟器的某些特性 309
B.3.1 模拟周期 310
B.3.2 延迟时间 310
B.4 VHDL中的对象 311
B.5 数据类型 312
B.5.1 标量类型 313
B.5.2 复合类型 314
B.5.4 文件类型 316
B.5.3 子类型 316
B.5.5 类型转换 317
B.6 VHDL的词法单元 318
B.6.1 注释 318
B.6.2 数字 319
B.6.3 字符 319
B.6.4 字符串 320
B.6.5 位串 320
B.7 属性 320
B.8 表达式与运算符 323
B.9 子程序——过程与函数 326
B.10 程序包与设计库 328
B.10.1 程序包——设计中的数据共享 328
B.10.2 设计库 329
B.10.3 VHDL中名字的可见性 330
B.10.4 library语句和use语句 331
B.11 行为描述 332
B.11.1 进程语句 332
B.11.2 行为模型的顺序性 333
B.11.3 行为模型的并行性 340
B.12 结构描述 344
B.12.1 端口的基本特征 345
B.12.2 元件例化语句 346
B.12.3 配置指定 347
B.12.4 规则结构 348
B.12.5 无连接端口 349
B.13 重载 349
B.14 VHDL保留字和预定义程序包 351
B.14.1 VHDL保留字 351
B.14.2 标准程序包STANDARD 352
B.14.3 IEEE多值逻辑系统程序包std_logic_1164 359
参考文献 362