第1章 概论 1
1.1从外部观察计算机 1
1.2数字计算机与模拟计算机 5
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章 数码系统——数据在计算机内部的表示形式 19
2.1数据表示形式的多样性 19
2.1.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循环冗余校验码 52
本章小结 57
习题 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定点二进制数的补码加减法运算器 79
3.2.4定点二进制数乘法运算部件的实现 80
3.2.5定点二进制数除法运算部件的实现 82
3.2.6逻辑运算的实现(举例) 82
3.3数据的存储 83
3.3.1寄存器(Register) 83
3.3.2存储器(Memory) 87
3.4二进制定点数的乘法运算 90
3.4.1正数的定点小数乘法运算 90
3.4.2补码的乘法运算 95
3.5二进制定点数的除法运算 100
3.5.1正数的定点小数除法运算 100
3.5.2补码的除法运算 103
3.6浮点数的算术运算 107
3.6.1浮点数的加减运算 107
3.6.2浮点数的乘除运算 108
3.6.3阶码的表示形式——补码和移码 110
3.6.4浮点数四则运算的小结 111
3.7算术逻辑运算单元(ALU)举例 112
本章小结 114
习题 114
第4章 计算机的核心部件——处理器 117
4.1处理器的工作过程简介 117
4.2数据在内存中与在处理器中的表示方式 119
4.3指令格式(机器码格式) 119
4.3.1操作码 120
4.3.2地址码 121
4.4寻址(编址)方式 122
4.4.1基本寻址方式概述 123
4.4.2寻址方式举例 125
4.5一个简单处理器(简化模型)的指令系统 126
4.6处理器的组成与设计 128
4.6.1处理器的组成 128
4.6.2处理器和内存的相互联系 130
4.6.3控制器 131
4.6.4处理器指令执行的详细流程 133
4.6.5处理器的(VHDL)行为描述 141
4.6.6 CPU的V HDL代码的基本框架 142
4.6.7 CPU的完整的VHDL代码 144
4.6.8处理器与内存相连组成一台计算机 149
4.6.9使用EDA工具设计与手工设计的比较 155
4.7流水线技术 157
4.8精简指令系统计算机(RISC) 160
本章小结 161
习题 161
第5章 多级结构的存储器系统 163
5.1概述 163
5.2存储器分类 164
5.3主存储器的基本原理 165
5.3.1静态存储器的基本原理 167
5.3.2动态存储器的基本原理 168
5.3.3只读存储器(ROM) 169
5.3.4主存储器的主要技术指标 171
5.4构成主存储器的有关技术 172
5.4.1主存容量的扩展 172
5.4.2单向数据总线和双向数据总线 173
5.4.3地址码的一级译码和二级译码 174
5.4.4主存的检错与纠错 176
5.4.5主存的并行读写技术 176
5.4.6 CPU与主存的协同工作——同步与异步 178
5.4.7同步动态随机存储器 178
5.4.8Rambus DRAM 179
5.4.9双端口存储器 179
5.4.10在DRAM芯片内加入缓存 180
5.5辅助存储器 180
5.5.1磁记录原理与记录方式 180
5.5.2磁盘存储器 183
5.5.3磁盘阵列存储器 185
5.5.4光盘存储器 187
5.5.5移动式存储器 190
5.6高速缓冲存储器 190
5.6.1高速缓存的工作原理 191
5.6.2地址映像 192
5.6.3替换算法和更新策略 194
5.7虚拟存储器 196
5.7.1虚拟存储器的基本概念 196
5.7.2段式虚拟存储器 196
5.7.3页式虚拟存储器 197
5.7.4段页式虚拟存储器 198
5.7.5快表与慢表 199
本章小结 200
习题 200
第6章 计算机的输入输出设备 203
6.1图形和图像的点阵表示 204
6.2键盘输入设备 205
6.3定位输入设备 206
6.3.1鼠标器 206
6.3.2轨迹球 207
6.3.3触摸板 207
6.4扫描仪 207
6.4.1扫描仪的工作原理 207
6.4.2扫描仪的性能指标 208
6.5显示器 208
6.5.1 CRT显示器 209
6.5.2液晶显示器 211
6.6打印机 212
6.6.1针式打印机 212
6.6.2喷墨打印机 214
6.6.3激光打印机 215
6.7汉字输入 215
本章小结 217
习题 217
第7章 计算机的输入输出系统 219
7.1概述 219
7.2计算机总线 221
7.2.1总线类型 221
7.2.2总线判优与仲裁 222
7.2.3总线通信控制 225
7.2.4总线的标准化和性能指标 227
7.2.5总线举例 228
7.3输入输出接口 231
7.3.1接口的功能与组成 231
7.3.2接口的分类 233
7.3.3串行接口的通信协议 233
7.4程序直接控制的输入输出方式 235
7.5程序中断输入输出方式 237
7.5.1中断的基本概念 237
7.5.2中断请求与判优 238
7.5.3中断响应与中断处理 241
7.5.4多重中断中的现场保存与恢复 243
7.6 DMA输入输出方式 244
7.6.1基本概念 244
7.6.2 DMA接口 246
7.6.3 DMA的工作方式 247
7.6.4 DMA的数据传送过程 247
7.7通道控制与外围处理机控制方式 248
7.8可编程接口电路举例——8255 249
7.9 8255的V HDL行为描述 254
本章小结 259
习题 260
附录A EDA工具Quartus Ⅱ简介 262
A.1 Quartus Ⅱ的安装与运行 263
A.2设计流程 265
A.3项目的建立与版本管理 267
A.3.1建立一个新项目 267
A.3.2 Quartus Ⅱ项目的版本管理 269
A.4设计的原理图描述 271
A.4.1进入原理图编辑器 271
A.4.2从元件库中调入元件符号 272
A.4.3绘制原理图 272
A.5设计的V HDL描述 274
A.5.1进入文本编辑器 275
A.5.2在文本编辑器中编辑 VHDL文件 275
A.5.3发现并纠正VHDL代码中的错误 276
A.5.4保存文件 278
A.6综合和编译 278
A.6.1进入编译器 278
A.6.2发现并纠正原理图中的错误 280
A.7模拟验证 281
A.7.1使用波形编辑器绘制测试向量波形 281
A.7.2执行模拟 284
A.8层次化设计实例 286
A.8.1在原理图编辑器中实现层次化设计 287
A.8.2 V HDL设计描述与原理图混合使用的层次化设计 290
A.9时序分析器 293
A.10调用带参数的库元件 294
A.10.1在原理图编辑器中创建一个存储器 294
A.10.2初始化存储器的内容 300
A.10.3存储器的模拟实例 300
A.11可编程器件的物理实现 301
A.11.1引脚分配 301
A.11.2对目标器件编程 305
A.12用SignalTap 实时测试FPGA中的信号波形 310
附录B硬件描述语言VHDL简介 316
B.1 VHDL的产生与发展 316
B.2用VHDL建立电路模型 317
B.2.1电路模型 317
B.2.2实体声明与结构体 319
B.2.3结构体的描述方式 320
B.2.4标识符 321
B.3面向模拟器的某些特性 322
B.3.1模拟周期 323
B.3.2延迟时间 323
B.4 VHDL中的对象 324
B.5数据类型 325
B.5.1标量类型 326
B.5.2复合类型 327
B.5.3子类型 329
B.5.4文件类型 329
B.5.5类型转换 330
B.6 VHDL的词法单元 331
B.6.1注释 331
B.6.2数字 332
B.6.3字符 332
B.6.4字符串 333
B.6.5位串 333
B.7属性 333
B.8表达式与运算符 336
B.9子程序——过程与函数 339
B.10程序包与设计库 341
B.10.1程序包——设计中的数据共享 341
B.10.2设计库 342
B.10.3 VHDL中名字的可见性 343
B.10.4 library语句和use语句 344
B.11行为描述 345
B.11.1进程语句 345
B.11.2行为模型的顺序性 346
B.11.3行为模型的并行性 353
B.12结构描述 357
B.12.1端口的基本特征 358
B.12.2元件例化语句 359
B.12.3配置指定 360
B.12.4规则结构 361
B.12.5无连接端口 362
B.13重载 362
B.14 VHDL保留字和预定义程序包 364
B.14.1 VHDL保留字 364
B.14.2标准程序包STANDARD 365
B.14.3 IEEE多值逻辑系统程序包std-logic-1164 372
参考文献 375