第一章 绪论 1
1.1 引言 1
1.2 微程序设计技术发展的几个阶段 2
1.2.1 确立概念的阶段(1951~1964年) 2
1.2.2 普及应用的阶段(1964~1970年) 3
1.2.3 飞速发展的阶段(1970~19××年) 5
1.3 电子计算机的数据通路和控制逻辑 9
1.3.1 电子计算机的基本结构和数据通路 9
1.3.2 繁琐复杂的硬件组合控制逻辑 11
1.3.3 直观规整的存贮控制逻辑 11
1.3.4 两种数据通路的基本一致性 12
1.4.1 控制信息传送 13
1.4 电子计算机中信息传送的基本原理 13
1.4.2 控制信息传送的先后顺序 15
1.4.3 控制信息传送之间的相互联系 17
1.5 微程序设计的基本概念 17
1.5.1 微命令和微命令系统 17
1.5.2 微操作和微周期 18
1.5.3 微指令 18
1.5.4 微程序和微程序设计 19
1.5.5 微程序计算机的基本工作原理 20
第二章 微指令的编译法 23
2.1 引言 23
2.2 微指令的几种基本编译法 24
2.2.1 不译法 24
2.2.2 最短编译法 25
2.2.3 字段直接编译法 26
2 2.4 字段间接编译法 28
2.2.5 字段重叠编译法 29
2.2.6 常数源字段E 30
2.2.7 可解释的字段编译法 31
2.3 微指令的分类编译法 31
2.3.1 适用于中型机的分类编译法 31
2.3.2 适用于小型机的分类编译法 32
2.3.3 适用于微处理机的分类编译法 35
2.4 微指令的其它编译法 37
2.4.1 长短周微指令编译法 37
2.4.2 插入微指令编译法 38
2.4.3 双顺序控制编译法 39
第三章 微程序的顺序控制 42
3.1 引言 42
3.2 后继微地址的增量方式 43
3.2.1 什么是增量方式 43
3.2.2 “计数器”方式 43
3.2.3 “计数器·转移地址”方式 44
3.2.4 “计数器·转移地址·堆栈”方式 48
3.3 后继微地址的断定方式 52
3.3.1 什么是断定方式 52
3.3.2 后继微地址的来源 53
3.3.3 后继微地址非因变分量的断定方式 56
3.3.4 后继微地址因变分量的断定方式 57
3.3.5 微子程序和微程序循环 64
3.4 其它的顺序控制方式 67
3.5 微中断系统 69
3.5.1 微中断源 69
3.5.2 微中断处理微程序的入口 70
3.5.3 微中断处理微程序的出口 71
第四章 微指令格式和实例 72
4.1 引言 72
4.2 水平微指令 72
4.2.1 水平微指令的基本概念 72
4.2.2 水平微指令的特点 73
4.2.3 水平微指令的缺点 74
4.2.4 水平微指令的实例 74
4.3.2 垂直微指令的特点 79
4.3 垂直微指令 79
4.3.1 垂直微指令的基本概念 79
4.3.3 垂直微指令的缺点 80
4.3.4 垂直微指令的实例 80
4.4 混合型微指令实例 93
4.4.1 RCA Spectra 70/45计算机的数据通路 94
4.4.2 微指令格式 95
第五章 微程序设计分析 100
5.1 引言 100
5.2 串行微程序设计 103
5.2.1 基本概念和特点 103
5.3.1 基本概念和特点 105
5.3 并行微程序设计 105
5.2.3 提高速度的途径 105
5.2.2 速度分析 105
5.3.2 微周期不重叠的并行微程序设计 106
5.3.3 微周期相重叠的并行微程序设计 108
5.3.4 快速微程序转移 110
5.4 毫微程序设计 114
5.4.1 毫微程序设计的基本原理 114
5.4.2 ROM-V中的垂直微程序 114
5.4.3 ROM-H中的毫微程序 116
5.4.4 毫微程序设计的顺序控制 116
5.4.5 关于毫微程序设计的评价 118
5.5 动态微程序设计 119
5.5.1 动态微程序设计的类型 120
5.5.2 控制存贮器的结构 121
第六章 微程序设计语言 123
6.1 引言 123
6.2 微程序流程图 127
6.3 水平型微程序设计语言 128
6.3.1 微汇编语言 128
6.3.2 框图语言 130
6.4 硬件描述语言 137
6.4.1 CDL语言 137
6.4.2 用CDL语言描述计算机操作 144
6.5 微程序设计自动化的一般过程 148
7.2.1 ROM的逻辑结构格式 150
7.2 ROM的一般原理和发展概况 150
第七章 微程序控制存贮器 150
7.1 引言 150
7.2.2 ROM的主要性能指标 152
7.2.3 ROM的各种存贮单元 153
7.2.4 几种典型系统中的ROM 156
7.3 半导体大规模集成电路只读存贮器 156
7.3.1 双极熔丝型PROM 157
7.3.2 浮栅雪崩注入FAMOS(EPROM) 160
7.3.3 MNOS型EAROM 161
7.3.4 玻璃半导体EPROM(Amorphous) 163
7.3.5 大规模集成只读存贮器典型产品 164
7.4 ROM在其它方面的应用 166
7.5 ROM的测试和检验 167
第八章 微程序在系列机中的应用 171
8.1 引言 171
8.2 DJS 200系列机简介 172
8.2.1 DJS200系列机的特点 172
8.2.2 若干系统概念 175
8.2.3 指令系统 180
8.2.4 数据格式 183
8.3 DJS 200-20型的微程序设计 184
8.3.1 主要性能 184
8.3.2 数据通路 187
8.3.3 微程序控制器 204
8.3.4 微程序设计实例 233
8.4 DJS 200-60型的微程序设计 284
8.4.1 对运算器三个指令站操作的控制 287
8.4.2 对微程序的执行顺序的控制 289
8.5 DJS 200-40型的微程序设计 289
第九章 微程序在微处理机中的应用 295
9.1 引言 295
9.2 微处理机和微型机的结构 296
9.2.1 基本结构 296
9.2.2 位片结构 300
9.3 微程序设计 301
9.3.1 指令和程序 301
9.3.2 微指令格式 302
9.3.3 微程序设计示例 304
9.3.4 关于微程序设计的说明 306
9.4 可编程序逻辑阵列与微处理机 307
第十章 微程序在巨型机中的应用 310
10.1 引言 310
10.2 微程序在ILLIAC Ⅳ中的应用 310
10.2.1 ILLIAC Ⅳ的阵列结构 310
10.2.2 控制器CU 312
10.2.3 指令终点站微程序控制的原理 313
10.2.4 ILLIAC Ⅳ微程序控制的特点 315
10.2.5 ILLIAC Ⅳ采用微程序控制的理由 317
第十一章 微诊断 319
11.1 引言 319
11.2.1 独立编制微诊断程序的原理 320
11.2 微诊断原理 320
11.2.2 借用ROM中固有微程序的原理 329
11.3 DJS 200-20型的微诊断 331
11.3.1 设计目标和要求 331
11.3.2 微诊断的数据通路和硬核 331
11.3.3 故障字典与故障定位 333
11.3.4 微诊断程序的编制 336
11.3.5 微诊断程序实例 337
第十二章 微程序在外围控制中的应用 346
12.1 引言 346
12.2 DJS 200系列机磁带控制器的微程序设计 347
12.2.1 磁带控制器的基本性能 347
12.2.2 磁带控制器能执行的命令 348
12.2.3 磁带控制器的基本通路 350
12.2.4 磁带控制器的时序 351
12.2.5 磁带控制器的微指令格式 354
12.2.6 磁带控制器微程序设计实例 354
第十三章 微程序仿真 359
13.1 引言 359
13.2 微程序仿真的基本过程 360
13.2.1 仿真微程序的调入和读出 360
13.2.2 用户扩充指令的仿真过程 364
13.2.3 系统仿真过程 368
13.2.4 中断仿真过程 370
13.3.1 假想目标机 373
13.3 假想目标机和宿主机 373
13.3.2 假想宿主机 376
13.3.3 目标机到宿主机上的映象 395
13.3.4 目标机与宿主机的相配 396
13.4 信息区的抽取和分离 397
13.4.1 字段屏蔽和多路转移 397
13.4.2 逻辑乘和“执行”微指令 400
13.5 微地址堆栈与微子程序的调用 403
13.5.1 微地址堆栈 403
13.5.2 微子程序的调用 403
13.5.3 入口通信和出口通信 405
13.6.1 扩充双倍字长(定点)加法指令的仿真微程序 408
13.6 仿真微程序示例 408
13.6.2 扩充十进制加法仿真微程序 416
13.6.3 假想目标机的中断仿真微程序 416
13.6.4 假想目标机的仿真微程序 425
第十四章 微程序设计技术评价 432
14.1 微程序设计技术的优缺点 432
14.1.1 微程序设计技术的优点 432
14.1.2 微程序设计技术的缺点 434
14.2 微程序设计技术的前景 434
14.2.1 计算机系统的发展 435
14 2.2 微软件的发展 436
14.2.3 计算机的动态结构 436
14.2.4 微程序在其它数字系统中的应用和前景 438