第一章 概述 2
1.1 语言,层次和虚拟计算机 2
目录 2
1.2 现代多层计算机 3
1.3 多层计算机的历史发展述评 5
1.4 硬件,软件,多层计算机 6
1.5 进程 8
1.6 本书概述 10
3.1.3 DEC PDP- 11
第二章 计算机系统结构 13
2.1 处理机 13
2.1.1 指令的执行过程 18
2.1.2 指令的并行操作 18
2.2 存贮器 18
2.2.4 辅助存贮器 24
2.3 输入/输出设备 24
2.2.1 位 24
2.2.3 无位 24
2.2.2 存贮器编址 24
2.3.1 I/O设备 30
2.3.2 I/O处理机 30
2.3.3 字符码 30
2.3.4 误差纠正码 30
2.3.5 频率相关码 30
2.4 信息传输 30
2.5 计算机网络 35
单工,半双工和全双工传输 35
异步与同步传输 35
2.4.2 远距离通信 35
2.4.1 数据通路 35
调制 35
2.6 分布式计算机 37
第三章 常规机器层 38
3.1 常规机器层举例 38
3.2 指令格式 46
3.2.1 指令格式的设计标准 53
3.2.2 扩充操作码 53
3.2.3 指令格式举例 53
3.3 编址 53
逆波兰表达式的计算 68
3.3.7 堆栈地址编排 68
逆波兰表示法 68
3.3.6 基地址寄存器 68
3.3.8 PDP-11的寻址方式 68
3.3.9 编址方式讨论 68
3.4 指令分类 68
3.3.1 立即型地址编排 68
3.3.5 变址 68
3.3.4 间接地址编排 68
3.3.3 寄存器地址编排 68
3.3.2 直接地址编排 68
3.4.7 输入/输出(I/O)指令 76
3.5 数据表示方法 76
3.4.6 循环计数 76
3.4.5 转子指令 76
3.4.4 比较和条转移指令 76
3.4.3 一元操作 76
3.4.1 数据传送指令 76
3.4.2 二元操作 76
3.5.1 整数 79
3.5.2 浮点数 79
3.5.3 布尔变量 79
3.5.4 字符 79
3.5.5 字符串 79
3.5.6 阵列 79
信息向量 79
边界变址 79
3.6 控制流程 79
3.6.3 联立子程序 93
3.6.5 中断 93
3.6.4 陷井 93
3.7 附录 93
3.6.2 过程 93
3.6.1 控制流程和转移 93
第四章 微程序层 106
4.1 处理机部件 106
4.1.5 存贮器入口 110
4.1.4 时钟信号 110
4.1.7 处理机部件的组装 110
4.2 基本操作 110
4.1.6 算术运算部件和逻辑运算部件 110
4.1.3 门线路 110
4.1.2 总线 110
4.1.1 寄存器 110
4.2.1 寄存器传送 112
4.2.2 存贮器读/写操作 112
4.2.3 位测试 112
4.3 理想的目的机层 112
4.4 理想的主机层 115
4.4.1 主机层寄存器 117
4.4.2 主机层的ALU 117
4.4.3 主机层的门电路和数据通路 117
4.5 门控时序 117
4.6 微程序的门控时序 120
4.5.2 执行ADD指令时的门控时序 120
4.5.1 子周期 120
4.6.1 微指令 123
4.6.2 微程序的执行 123
4.6.3 双层机 123
4.7 微程序设计语言 123
4.7.1 GATE微指令的表示法 124
4.7.2 TEST微指令的表示法 124
4.8 目的机的解释程序 124
4.8.1 乘法指令的解释 132
4.8.2 除法指令的解释 132
4.8.3 小结 132
4.9 微程序层的设计 132
4.9.6 微程序层小结 140
4.10 微程序设计的优缺点 140
4.9.5 通用微程序层与专用微程序层的比较 140
4.9.3 存贮周期和重迭操作 140
4.9.4 毫微秒存贮器 140
4.9.1 编码域段 140
4.9.2 水平结构和垂直结构的比较 140
4.11 IBM370/125的微程序层 141
4.11.1 IBM370/125微程序层的结构格式 146
4.11.2 IBM3125微指令 146
4.12 PDP-11/40微程序层 146
4.12.1 PDP-11/40微程序层的结构格式 153
4.12.2 UNIBUS操作 153
4.12.3 PDP-11/40的微指令 153
4.13 巴勒斯(BURROUGHS)B1700 153
附录1.IBM3125微指令的基本功能 157
附录2.B1712全部微指令的简单说明 157
4.13.1 B1700的结构格式………… 157
4.13.2 B1700指令系统 157
附录3.B1700中寄存器和子寄存器功能 158
5.1 操作系统机器层的执行 160
第五章 操作系统机器层 160
5.2 虚拟I/O指令 162
3.1.2 CDC6000,Cyber70,Cyber 170
5.2.5 Cyber70虚拟I/O 176
5.2.6 PDP-11虚拟I/O 176
5.2.4 IBM370虚拟I/O 176
5.2.7 第三层I/O指令的比较 176
5.3 虚拟指令在并行处理中的应用 176
5.2.3 虚拟I/O指令的执行 176
5.2.2 随机存取文件 176
5.2.1 串行文件 176
5.3.4 进程通信指令 182
5.3.3 利用信号量进行同步 182
5.4 其它的第三层指令 182
5.3.2 竞态条件 182
5.3.1 进程的产生和消失 182
5.4.2 第三层机器的再设置 185
5.5 虚拟存贮 185
5.4.1 目录管理指令 185
5.5.9 分段 206
5.5.10 PDP-11上的虚拟存贮 206
5.5.8 快存 206
5.5.7 页面尺寸和碎片 206
5.5.11 MULTICS虚存 206
5.5.12 IBM370的虚存 206
5.5.13 段虚存和I/O文件 206
5.6 作业控制语言 206
5.5.6 硬件图 206
5.5.5 沾污位 206
5.5.4 页面更换原则 206
5.5.3 请求式页面调度和工作方式 206
5.5.2 页面的执行过程 206
5.5.1 页面 206
第六章 汇编语言层 208
6.1 汇编语言概述 208
6.1.4 程序调谐 213
6.1.3 汇编语言和PL/I语言的比较 213
6.2 汇编进程 213
6.1.1 什么是汇编语言 213
6.1.2 汇编语言语句格式 213
6.2.1 汇编程序的两次通过 219
6.2.2 第一次通过 219
6.2.3 第二次通过 219
6.3 检测和分类 219
6.3.4 分类 230
6.3.7 相关技术比较 230
6.3.6 HasH函数和冲突 230
6.3.5 HasH编码 230
6.4 宏指令 230
6.3.2 线性检测 230
6.3.1 检测 230
6.3.3 二进制检测 230
6.4.4 嵌套宏指令调用 239
6.5 连接和输入装配 239
6.4.7 在汇编程序中宏指令的使用 239
6.4.6 嵌套宏指令的定义 239
6.4.5 循环宏指令调用 239
6.4.3 条件宏指令的展开 239
6.4.2 带有参数的宏指令 239
6.4.1 宏指令的定义,调用和展开 239
6.5.1 连接程序的任务 249
6.5.2 目的模块的结构 249
6.5.3 装配时间和动态再定位 249
6.5.4 动态连接 249
第七章 多层机器 249
7.1 实现新的机器层的方法 249
7.1.3 子程序的扩展 253
通用宏指令处理程序 253
7.2 多层机器的结构设计 253
7.1.1 解释 253
7.1.2 翻译 253
7.2.1 “上—下”设计法 256
7.2.2 “下—上”设计法 256
7.2.3 “中—外”设计法 256
7.3 程序的可携带性 256
7.3.1 通用程序编制语言 264
7.3.2 强制法 264
7.3.3 UNCOL 264
7.3.4 自身虚拟机 264
7.3.5 模拟法 264
7.3.6 网络 264
7.4 自虚拟机 264
自修改通道程序 274
虚拟机故障和异常情况 274
虚拟机I/O的模拟 274
7.4.3 自虚拟机的实现 274
影象页面表 274
7.5 高层机器结构 274
7.4.1 IBM VM/370系统 274
机密数据的保护 274
操作系统测试 274
自虚拟机和分时 274
7.4.2 自虚拟机的目的 274
7.5.1 寻址方式和解说符 282
7.5.2 高层机器指令 282
7.5.3 高层机器的优缺点 282
3.1.1 IBM系统/360和系统/ 370