第一章 概论 1
1.1 微程序设计技术的发展阶段 1
1.1.1 概念确立阶段(1951~1964年) 1
1.1.2 普及应用阶段(1964~1970年) 2
1.1.3 飞速发展阶段(1970~现在) 6
1.2 微程序设计技术的评价 8
1.3 微程序迁移 12
第二章 MICRO2通用微汇编语言 16
2.1 引言 16
2.2 标识微程序 18
2.2.1 位计数方向 18
2.2.2 程序基数 19
2.2.3 其它源微程序标识关键字 19
2.3 定义字段及其值 22
2.3.1 MICRO2名字 22
2.3.2 定义段名 24
2.3.3 限定词 25
2.3.4 定义值名 31
2.4 表达式和有效性检验 33
2.4.1 表达式(expression) 33
2.4.2 有效性表达式 39
2.5 宏定义 41
2.5.1 引言 41
2.5.2 宏名 43
2.5.3 宏体(macro-body) 43
2.5.4 参数(parameter) 45
2.6 微指令 47
2.6.1 微指令 47
2.6.2 微字 48
2.7 微地址分配 50
2.7.1 定义微地址空间 51
2.7.2 规定微地址分配的方式 52
2.8 条件汇编 59
2.9 MICRO2输出文件和列表控制 65
2.9.1 MICRO2输出文件 65
2.9.2 列表控制 67
2.10 对MICRO2语言的评价 70
2.11 实例 73
2.11.1 模型机的数据通路 73
2.11.2 标识和字段定义 74
2.11.3 实例宏定义 76
2.11.4 一个微子程序 76
2.11.5 另一个微子程序 78
第三章 仿真方法 80
3.1 引言 80
3.2 仿真器(emulator)的设计方法 83
3.2.1 仿真器的作用 83
3.2.2 仿真器的类型 85
3.2.3 一级微程序设计和二级微程序设计 87
3.2.4 仿真器的主要功能部件 94
3.3 计算机系统仿真微程序的总体设计策略 97
3.3.1 兼容方案 97
3.3.2 独立方案 111
3.3.3 混合方案 112
3.4 环境映象 113
3.5 目标机指令系统和中断系统的仿真 117
3.5.1 指令系统的仿真 117
3.5.2 中断处理 119
3.6 专用外设的仿真 125
3.6.1 适配器的设计 126
3.6.2 专用外设的输入/输出中断处理 133
3.7 仿真微程序的进入和退出 135
3.7.1 进入 136
3.7.2 退出 138
第四章 VAX-11/780数据通路与定义文件 140
4.1 VAX-11/780数据通路 140
4.1.1 运算部分 140
4.1.2 地址部分 149
4.1.3 数据部分 152
4.1.4 阶码部分 159
4.1.5 VAX-11/780数据通路评述 161
4.2 VAX-11/780定义文件简介 163
第五章 计算机系统仿真微程序实例——VAX-11/伤真Sample机 169
5.1 Sample机的特点 169
5.2 Sample机的映象 175
5.3 Sample机系统仿真的实现 177
5.3.1 仿真微程序的接口程序功能 178
5.3.2 Sample机系统仿真微程序的功能及流程 181
第六章 用户微程序设计实例——初等函数统一算法及其实现 204
6.1 坐标旋转与叠代方程 204
6.2 收敛方案 212
6.3 CORDIC算法实现的框图 215
6.4 离散的富里埃变换DFT 218
第七章 仿真微程序的开发、调试和维护 220
7.1 固件工程概述 220
7.2 模块结构微程序设计 225
7.2.1 基本控制结构及其在VAX-11/780上的实现 225
7.2.2 模块结构微程序设计实例 232
7.3 真微程序的开发环境 237
7.3.1 WCS的测试方法 237
7.3.2 微语言 241
7.3.3 WCS的装入程序 242
7.3.4 调试命令 242
7.3.5 微程序模拟系统 244
7.4 在VAX-11/780上开发用户仿真微程序的过程 247
附录A VAX-11/780定义文件和宏定义 253
附录B SAMPLE仿真微程序列表文件 317
附录C SAMPLE仿真微程序目标文件(ULD) 350