
《世界著名计算机教材精选:计算机体系结构》 杰勒德·布兰切特 (Gerard Blanchet), 伯特兰得·杜波乌 (Bertrand Dupouy), 陈宗斌 9787302460640
配送至
编辑推荐
(1)阐述了理解计算机的工作原理所需掌握的概念。
(2)分为5个部分,内容包括基本体系结构的元素、编程模型和操作、存储器层次结构、并行性和性能增强,最后一部分附录给出了书中练习的提示和解决方案。
(3)精心选择了适用于各个时代的示例。
(4)适合作为高校相关专业计算机体系结构课程的教材。
作者简介
作者:(美国)杰勒德·布兰切特(Gerard Blanchet) (美国)伯特兰得·杜波乌(Bertrand Dupouy) 译者:陈宗斌
目录
第1部分基本体系结构的元素
第1章简介3
1.1历史背景3
1.1.1自动化和机械计算器3
1.1.2从外部程序到存储程序5
1.1.3各代计算机简介7
1.2内部操作简介10
1.2.1与机器通信10
1.2.2执行指令11
1.3未来展望12
第2章基本模块14
2.1存储器14
2.1.1定义14
2.1.2几个技术元件15
2.2处理器16
2.2.1功能单元16
2.2.2处理器的寄存器17
2.2.3处理单元的元素20
2.2.4控制器的元件21
2.2.5地址计算单元22
2.3模块之间的通信22
2.3.1PCI总线23
第3章信息的表示25
3.1复习25
3.1.1以2为基数25
3.1.2二进制、八进制和十六进制表示26
3.2数字表示约定27
3.2.1整数27
3.2.2实数28
3.2.3浮点表示的一个示例——IEEE—754标准31
3.2.4动态范围与精度33
3.2.5实现33
3.2.6IEEE—754标准的扩展34
3.3字符表示34
3.3.18位表示34
3.3.2现代表示36
3.4练习37
第2部分编程模型和操作
第4章指令41
4.1编程模型41
4.1.1I8086的寄存器41
4.1.2地址构造和寻址模式42
4.2指令集44
4.2.1移动指令44
4.2.2算术和逻辑指令45
4.2.3移位指令45
4.2.4转移46
4.2.5其他指令48
4.3编程示例49
4.4从汇编语言到基本指令51
4.4.1汇编器51
4.4.2汇编阶段52
4.4.3连接器53
4.4.4何时利用汇编语言编程54
第5章处理器55
5.1控制总线55
5.1.1复位线路56
5.1.2保持线路56
5.1.3等待控制线路56
5.1.4中断线路57
5.1.5概念图57
5.2指令的执行:一个示例57
5.2.1指令的执行59
5.2.2时序图62
5.3定序器的构成63
5.3.1传统的合成方法63
5.3.2微编程65
5.4扩展65
5.4.1协处理器65
5.4.2矢量扩展67
5.4.3DSP和GPU71
5.5练习72
第6章输入和输出74
6.1示例75
6.1.1示例:控制热电偶75
6.1.2示例:串行终端连接79
6.2交换器的设计和寻址81
6.2.1交换器的设计81
6.2.2交换器寻址82
6.3交换模式83
6.3.1轮询交换模式83
6.3.2直接存储器存取84
6.3.3中断88
6.4处理中断88
6.4.1工作原理88
6.4.2示例90
6.4.3软件中断91
6.4.4屏蔽与取消屏蔽中断91
6.4.5中断优先级或级别92
6.4.6类似的机制92
6.5练习93
第3部分存储器层次结构
第7章存储器97
7.1存储器资源97
7.2特征97
7.3存储器层次结构98
7.3.1局部性原理99
7.3.2层次结构的组织和管理99
7.3.3定义和性能100
7.4存储器大小和保护机制100
7.5分段101
7.5.1使用段寄存器:一个示例101
7.5.2使用段描述符102
7.6分页103
7.7存储器交叉存取和突发模式105
7.7.1C存取105
7.7.2S存取105
7.7.3突发模式106
7.7.4预取缓冲区107
7.8保护,I386的示例108
第8章缓存109
8.1高速缓冲存储器109
8.1.1操作原理和体系结构109
8.1.2高速缓冲存储器的操作109
8.1.3缓存设计111
8.2替换算法114
8.2.1LRU方法114
8.2.2多级缓存的情况118
8.2.3性能和模拟119
第9章虚拟存储器122
9.1一般概念122
9.1.1操作122
9.1.2存取信息123
9.1.3地址翻译123
9.2存取方法的规则124
9.2.1页错误124
9.2.2多级分页125
9.2.3服务信息、保护和访问权限125
9.2.4页大小126
9.3程序执行的示例127
9.3.1引入翻译缓存128
9.3.2执行129
9.3.3备注131
9.4二级分页的示例132
9.4.1管理132
9.4.2处理服务位132
9.4.3信息访问中的步骤134
9.5页式分段136
9.5.136位扩展138
9.6练习138
9.7文档摘录139
9.7.1MMU简介139
9.7.2TLB的描述140
9.7.3TLB特性142
第4部分并行性和性能增强
第10章流水线体系结构147
10.1动机和思想147
10.1.1RISC机器147
10.1.2操作原理148
10.1.3流水线体系结构的代价150
10.2流水线管理问题150
10.2.1结构风险150
10.2.2依赖冲突153
10.2.3转移154
10.3处理转移155
10.3.1延迟的转移和软件处理155
10.3.2转移预测157
10.3.3转移目标缓冲区160
10.3.4全局预测161
10.3.5示例163
10.4中断和异常166
10.4.1中断166
10.4.2陷阱和错误167
第11章体系结构的示例168
11.1简介168
11.1.1流水线描述168
11.1.2指令集170
11.1.3指令格式171
11.2执行指令172
11.2.1读取和解码指令172
11.2.2存储器读取172
11.2.3存储器写操作174
11.2.4寄存器到寄存器的操作174
11.2.5条件转移176
11.2.6具有立即寻址的指令179
11.3DLX中的冲突解决179
11.3.1转发技术179
11.3.2处理转移182
11.4练习185
第12章多处理器环境中的缓存190
12.1缓存一致性191
12.1.1示例191
12.1.2要考虑的元素192
12.1.3一致性的定义192
12.1.4方法193
12.2嗅探协议的示例194
12.2.1MSI协议194
12.2.2MEI协议197
12.2.3MESI协议197
12.2.4MOESI协议199
12.3改进200
12.4基于目录的一致性协议200
12.5一致性203
12.5.1相容性与一致性203
12.5.2表示法203
12.5.3原子相容性204
12.5.4顺序相容性204
12.5.5因果相容性205
12.5.6弱相容性206
12.6练习207
第13章超标量体系结构210
13.1超标量体系结构的原理210
13.1.1风险211
13.2寻求解决方案212
13.2.1原理212
13.2.2示例214
13.3处理指令流215
13.3.1记分牌的原理215
13.3.2记分牌实现216
13.3.3详细的示例217
13.3.4关于优先级约束的注释221
13.3.5Tomasulo算法的原理222
13.3.6详细的示例224
13.3.7循环执行和WAW风险229
13.4VLIW体系结构231
13.4.1超标量体系结构的局限性231
13.4.2VLIW体系结构概述232
13.4.3预测233
13.5练习235
第5部分附录
附录A提示和解决方案241
A.1信息的表示241
A.2处理器244
A.3输入和输出245
A.4虚拟存储器246
A.5流水线体系结构247
A.6多处理器环境中的缓存253
A.7超标量体系结构256
附录B编程模型258
B.1I8086中的指令编码258
B.2DLX体系结构的指令集259
B.2.1浮点数上的操作259
B.2.2移动操作259
B.2.3算术和逻辑运算260
B.2.4转移260
参考文献262
序言
前言
本书介绍了理解计算机的操作系统所需掌握的概念。本书基于以下几个方面编写。
(1)计算机的组件以电子方式工作的细节超出了本书的范围。
(2)本书重点放在概念上,关注的是机器的体系结构的构件、它们的功能以及它们的交互。
(3)本书在任何必要的地方强调了软件与硬件资源之间必不可少的联系。
出于清晰起见,我们精心选择了一些示例,它们适用于所有领域的机器,而不会稀释书中的内容。这种选择可以帮助我们说明从第1代计算机起技术、概念和性能是如何演进的。
全书分为5个部分。前4部分的难度渐增,它们构成了本书的核心,这4个部分分别是“基本体系结构的元素”“编程模型和操作”“存储器层次结构”和“并行性和性能增强”。最后一部分包含附录,提供了本书中的练习的提示和解决方案以及编程模型。读者可以基于先前的知识和目标独立地阅读每个部分。
本书中5个部分的简介如下。
1. 基本体系结构的元素
(1)第1章介绍了处理器的主要构件的发展史。
(2)第2章详细列出了基本的模块及其特性,并且描述了它们是怎样连接的。
(3)第3章重点介绍了信息的表示:整数、浮点数、定点数和字符。
2.编程模型和操作。
(4)第4章解释了指令集与体系结构之间的关系。
(5)第5章提供了一个指令执行的详细示例,以阐明用于管控处理器操作的内部机制。还介绍了一些额外的元素,比如协处理器和矢量扩展。
(6)第6章描述了与外设之间交换信息所涉及的一些规则:轮询、直接存储器存取和中断。
3.存储器层次结构
(7)第7章说明了一些关于存储器组织结构的元素:层次结构、分段和分页。
(8)第8章介绍了缓存组织结构和访问方法。
(9)第9章描述了虚拟存储器管理概念、规则和访问权限。
4.并行性和性能增强
(10)第10章通过展示流水线体系结构介绍了并行性:概念以及软件和硬件冲突解决方案。
(11)第11章给出了DLX体系结构作为示例。
(12)第12章讨论了多处理器环境中的缓存管理,还讨论了相干性(Coherence)和协议(MSI、MEI等)。
(13)第13章展示了超标题体系结构冲突的操作、记分板和Tomasulo算法以及VLIW体系结构。
5.附录
在本书附录中可以找到关于在不同章节中使用的编程模型以及给出的关于练习的提示和解决方案的补充材料。
本书非常适合用作高等院校计算机专业本科生的教材,对于从事计算机体系结构或计算机系统设计的程序员和工程技术人员,本书也颇具参考价值。
参加本书翻译的人员有:陈宗斌、傅强、宋如杰、蔡江林、陈征、戴锋、蔡永久、龚宇华、何正雄、黄定光、孙朝辉、孙丽、徐茜、许瑛琪、叶守运。
II
计算机体系结构
11
前言
文摘
第5章处 理 器
在第2章中看到,通过检查可知,由处理器(Processor)执行的功能可以划分成以下三个单元(参见图5.1)。
(1)控制器(Control Unit),它负责:
① 从存储器中获取指令。
② 解码这些指令。
③ 对微命令进行排序,确保所识别的指令的操作。
(2)处理单元(Processing Unit),它产生基本算术和逻辑运算的结果。
(3)寄存器(Register),它用于把处理单元处理的信息存储进存储器中。
图5.1处理器的组件
在按顺序发送的微命令的环境中,将使用以下术语。
(1)微指令(Microinstruction):一个布尔型(Boolean)矢量,表示这些来源于控制器的微命令的逻辑状态。
(2)微操作(Micro-Operation):微指令的执行(参见图5.2)。
本章在介绍了一个指令执行的示例之后,将详细描述控制器的组件及其设计中所涉及的概念。
5.1控 制 总 线
我们强调了处理器任务的必要性:读取指令、解码、执行、读取指令等。这种循环可以通过外部信号改变,这些信号是在控制总线(Control Bus)的线路上传送的。我们已经提过了等待线路的情况(参见图5.3)。
还有其他一些来源于处理器的信号,用于指示处理器的内部状态或者给外部设备提供信息(图5.4中显示了确认的示例),它们是在这条相同的总线上传送的。
通常通过触发器来记住控制线路的状态,然后反遇出激活它们的事件。
图5.3控制线路的测试
图5.4控制线路
5.1.1复位线路
复位(Reset)线路将导致处理器“重新引导”。当这条线路改变状态时,将初始化多个触发器和内部寄存器,然后获得引导地址。
(1)直接:利用给定的值初始化程序计数器(Intel I8080和Intel I8086微处理器就是这样,对于前者来说,将把程序计数器复位为0;对于后者来说,其物理(Physical)引导地址是FFFF016)。
(2)间接:程序计数器在加载时具有一个值,它是处理器从存储器中的某个固定地址(例如,8位Motorola MC6800微处理器中的FFFE16和FFFF16,参见图5.5)获取的。
图5.5Motorola MC6800中的引导方式
5.1.2保持线路
当除了处理器以外的某个单元(另一个处理器或交换器)尝试控制总线时,就会使用保持(Hold)线路。如果这个尝试成功,处理器就必须放弃访问总线。协议使用控制总线的两条线路:HOLD(保持)线路和HOLD Acknowledge(保持确认)线路。为了响应这个保持请求,处理器将发送一个确认,指示数据和地址总线切换为“高阻抗”状态。然后就称处理器处于空闲模式(Idle Mode)。
5.1.3等待控制线路
如我们已经见过的,当处理器(或者另一个输入输出设备)尝试获得长时间访问存储器的权限时,等待控制(Wait Control)线路就被证明是必要的。这种WAIT(等待)控制线路或READY(就绪)线路允许处理器在读或写操作期间插入等待周期(Wait Cycle)或等待状态(Wait State),同时等待必需的数据变得可用,或者输入输出单元做好准备。
5.1.4中断线路
中断(Interrupt)线路用于把外部事件考虑在内。可以执行一个指令序列来响应这种请求。这些事件的处理被称为中断,将在第6章介绍输入输出时讨论它。
5.1.5概念图
受Motorola MC6800微处理器的启发而得到的操作图可以表示为如图5.6所示。
图5.6操作图的示例
执行指令的完整阶段被称为指令周期(Instruction Cycle),这个周期的长度依赖于机器的体系结构。
5.2指令的执行:一个示例
本节将利用一个示例演示刚才所介绍的,这个示例基于Intel I8080微处理器的内部操作(参见图5.7)[INT 79]。依据Intel定义的表示法,我们所选的指令是add M。
图5.7Intel I8085
这个指令对寄存器A(累加器)与存储器字(其地址由HL寄存器(用作地址寄存器)的内容提供)的内容执行求和。结果存储在寄存器A中(参见图5.8)。
(1)阐述了理解计算机的工作原理所需掌握的概念。
(2)分为5个部分,内容包括基本体系结构的元素、编程模型和操作、存储器层次结构、并行性和性能增强,最后一部分附录给出了书中练习的提示和解决方案。
(3)精心选择了适用于各个时代的示例。
(4)适合作为高校相关专业计算机体系结构课程的教材。
作者简介
作者:(美国)杰勒德·布兰切特(Gerard Blanchet) (美国)伯特兰得·杜波乌(Bertrand Dupouy) 译者:陈宗斌
目录
第1部分基本体系结构的元素
第1章简介3
1.1历史背景3
1.1.1自动化和机械计算器3
1.1.2从外部程序到存储程序5
1.1.3各代计算机简介7
1.2内部操作简介10
1.2.1与机器通信10
1.2.2执行指令11
1.3未来展望12
第2章基本模块14
2.1存储器14
2.1.1定义14
2.1.2几个技术元件15
2.2处理器16
2.2.1功能单元16
2.2.2处理器的寄存器17
2.2.3处理单元的元素20
2.2.4控制器的元件21
2.2.5地址计算单元22
2.3模块之间的通信22
2.3.1PCI总线23
第3章信息的表示25
3.1复习25
3.1.1以2为基数25
3.1.2二进制、八进制和十六进制表示26
3.2数字表示约定27
3.2.1整数27
3.2.2实数28
3.2.3浮点表示的一个示例——IEEE—754标准31
3.2.4动态范围与精度33
3.2.5实现33
3.2.6IEEE—754标准的扩展34
3.3字符表示34
3.3.18位表示34
3.3.2现代表示36
3.4练习37
第2部分编程模型和操作
第4章指令41
4.1编程模型41
4.1.1I8086的寄存器41
4.1.2地址构造和寻址模式42
4.2指令集44
4.2.1移动指令44
4.2.2算术和逻辑指令45
4.2.3移位指令45
4.2.4转移46
4.2.5其他指令48
4.3编程示例49
4.4从汇编语言到基本指令51
4.4.1汇编器51
4.4.2汇编阶段52
4.4.3连接器53
4.4.4何时利用汇编语言编程54
第5章处理器55
5.1控制总线55
5.1.1复位线路56
5.1.2保持线路56
5.1.3等待控制线路56
5.1.4中断线路57
5.1.5概念图57
5.2指令的执行:一个示例57
5.2.1指令的执行59
5.2.2时序图62
5.3定序器的构成63
5.3.1传统的合成方法63
5.3.2微编程65
5.4扩展65
5.4.1协处理器65
5.4.2矢量扩展67
5.4.3DSP和GPU71
5.5练习72
第6章输入和输出74
6.1示例75
6.1.1示例:控制热电偶75
6.1.2示例:串行终端连接79
6.2交换器的设计和寻址81
6.2.1交换器的设计81
6.2.2交换器寻址82
6.3交换模式83
6.3.1轮询交换模式83
6.3.2直接存储器存取84
6.3.3中断88
6.4处理中断88
6.4.1工作原理88
6.4.2示例90
6.4.3软件中断91
6.4.4屏蔽与取消屏蔽中断91
6.4.5中断优先级或级别92
6.4.6类似的机制92
6.5练习93
第3部分存储器层次结构
第7章存储器97
7.1存储器资源97
7.2特征97
7.3存储器层次结构98
7.3.1局部性原理99
7.3.2层次结构的组织和管理99
7.3.3定义和性能100
7.4存储器大小和保护机制100
7.5分段101
7.5.1使用段寄存器:一个示例101
7.5.2使用段描述符102
7.6分页103
7.7存储器交叉存取和突发模式105
7.7.1C存取105
7.7.2S存取105
7.7.3突发模式106
7.7.4预取缓冲区107
7.8保护,I386的示例108
第8章缓存109
8.1高速缓冲存储器109
8.1.1操作原理和体系结构109
8.1.2高速缓冲存储器的操作109
8.1.3缓存设计111
8.2替换算法114
8.2.1LRU方法114
8.2.2多级缓存的情况118
8.2.3性能和模拟119
第9章虚拟存储器122
9.1一般概念122
9.1.1操作122
9.1.2存取信息123
9.1.3地址翻译123
9.2存取方法的规则124
9.2.1页错误124
9.2.2多级分页125
9.2.3服务信息、保护和访问权限125
9.2.4页大小126
9.3程序执行的示例127
9.3.1引入翻译缓存128
9.3.2执行129
9.3.3备注131
9.4二级分页的示例132
9.4.1管理132
9.4.2处理服务位132
9.4.3信息访问中的步骤134
9.5页式分段136
9.5.136位扩展138
9.6练习138
9.7文档摘录139
9.7.1MMU简介139
9.7.2TLB的描述140
9.7.3TLB特性142
第4部分并行性和性能增强
第10章流水线体系结构147
10.1动机和思想147
10.1.1RISC机器147
10.1.2操作原理148
10.1.3流水线体系结构的代价150
10.2流水线管理问题150
10.2.1结构风险150
10.2.2依赖冲突153
10.2.3转移154
10.3处理转移155
10.3.1延迟的转移和软件处理155
10.3.2转移预测157
10.3.3转移目标缓冲区160
10.3.4全局预测161
10.3.5示例163
10.4中断和异常166
10.4.1中断166
10.4.2陷阱和错误167
第11章体系结构的示例168
11.1简介168
11.1.1流水线描述168
11.1.2指令集170
11.1.3指令格式171
11.2执行指令172
11.2.1读取和解码指令172
11.2.2存储器读取172
11.2.3存储器写操作174
11.2.4寄存器到寄存器的操作174
11.2.5条件转移176
11.2.6具有立即寻址的指令179
11.3DLX中的冲突解决179
11.3.1转发技术179
11.3.2处理转移182
11.4练习185
第12章多处理器环境中的缓存190
12.1缓存一致性191
12.1.1示例191
12.1.2要考虑的元素192
12.1.3一致性的定义192
12.1.4方法193
12.2嗅探协议的示例194
12.2.1MSI协议194
12.2.2MEI协议197
12.2.3MESI协议197
12.2.4MOESI协议199
12.3改进200
12.4基于目录的一致性协议200
12.5一致性203
12.5.1相容性与一致性203
12.5.2表示法203
12.5.3原子相容性204
12.5.4顺序相容性204
12.5.5因果相容性205
12.5.6弱相容性206
12.6练习207
第13章超标量体系结构210
13.1超标量体系结构的原理210
13.1.1风险211
13.2寻求解决方案212
13.2.1原理212
13.2.2示例214
13.3处理指令流215
13.3.1记分牌的原理215
13.3.2记分牌实现216
13.3.3详细的示例217
13.3.4关于优先级约束的注释221
13.3.5Tomasulo算法的原理222
13.3.6详细的示例224
13.3.7循环执行和WAW风险229
13.4VLIW体系结构231
13.4.1超标量体系结构的局限性231
13.4.2VLIW体系结构概述232
13.4.3预测233
13.5练习235
第5部分附录
附录A提示和解决方案241
A.1信息的表示241
A.2处理器244
A.3输入和输出245
A.4虚拟存储器246
A.5流水线体系结构247
A.6多处理器环境中的缓存253
A.7超标量体系结构256
附录B编程模型258
B.1I8086中的指令编码258
B.2DLX体系结构的指令集259
B.2.1浮点数上的操作259
B.2.2移动操作259
B.2.3算术和逻辑运算260
B.2.4转移260
参考文献262
序言
前言
本书介绍了理解计算机的操作系统所需掌握的概念。本书基于以下几个方面编写。
(1)计算机的组件以电子方式工作的细节超出了本书的范围。
(2)本书重点放在概念上,关注的是机器的体系结构的构件、它们的功能以及它们的交互。
(3)本书在任何必要的地方强调了软件与硬件资源之间必不可少的联系。
出于清晰起见,我们精心选择了一些示例,它们适用于所有领域的机器,而不会稀释书中的内容。这种选择可以帮助我们说明从第1代计算机起技术、概念和性能是如何演进的。
全书分为5个部分。前4部分的难度渐增,它们构成了本书的核心,这4个部分分别是“基本体系结构的元素”“编程模型和操作”“存储器层次结构”和“并行性和性能增强”。最后一部分包含附录,提供了本书中的练习的提示和解决方案以及编程模型。读者可以基于先前的知识和目标独立地阅读每个部分。
本书中5个部分的简介如下。
1. 基本体系结构的元素
(1)第1章介绍了处理器的主要构件的发展史。
(2)第2章详细列出了基本的模块及其特性,并且描述了它们是怎样连接的。
(3)第3章重点介绍了信息的表示:整数、浮点数、定点数和字符。
2.编程模型和操作。
(4)第4章解释了指令集与体系结构之间的关系。
(5)第5章提供了一个指令执行的详细示例,以阐明用于管控处理器操作的内部机制。还介绍了一些额外的元素,比如协处理器和矢量扩展。
(6)第6章描述了与外设之间交换信息所涉及的一些规则:轮询、直接存储器存取和中断。
3.存储器层次结构
(7)第7章说明了一些关于存储器组织结构的元素:层次结构、分段和分页。
(8)第8章介绍了缓存组织结构和访问方法。
(9)第9章描述了虚拟存储器管理概念、规则和访问权限。
4.并行性和性能增强
(10)第10章通过展示流水线体系结构介绍了并行性:概念以及软件和硬件冲突解决方案。
(11)第11章给出了DLX体系结构作为示例。
(12)第12章讨论了多处理器环境中的缓存管理,还讨论了相干性(Coherence)和协议(MSI、MEI等)。
(13)第13章展示了超标题体系结构冲突的操作、记分板和Tomasulo算法以及VLIW体系结构。
5.附录
在本书附录中可以找到关于在不同章节中使用的编程模型以及给出的关于练习的提示和解决方案的补充材料。
本书非常适合用作高等院校计算机专业本科生的教材,对于从事计算机体系结构或计算机系统设计的程序员和工程技术人员,本书也颇具参考价值。
参加本书翻译的人员有:陈宗斌、傅强、宋如杰、蔡江林、陈征、戴锋、蔡永久、龚宇华、何正雄、黄定光、孙朝辉、孙丽、徐茜、许瑛琪、叶守运。
II
计算机体系结构
11
前言
文摘
第5章处 理 器
在第2章中看到,通过检查可知,由处理器(Processor)执行的功能可以划分成以下三个单元(参见图5.1)。
(1)控制器(Control Unit),它负责:
① 从存储器中获取指令。
② 解码这些指令。
③ 对微命令进行排序,确保所识别的指令的操作。
(2)处理单元(Processing Unit),它产生基本算术和逻辑运算的结果。
(3)寄存器(Register),它用于把处理单元处理的信息存储进存储器中。
图5.1处理器的组件
在按顺序发送的微命令的环境中,将使用以下术语。
(1)微指令(Microinstruction):一个布尔型(Boolean)矢量,表示这些来源于控制器的微命令的逻辑状态。
(2)微操作(Micro-Operation):微指令的执行(参见图5.2)。
本章在介绍了一个指令执行的示例之后,将详细描述控制器的组件及其设计中所涉及的概念。
5.1控 制 总 线
我们强调了处理器任务的必要性:读取指令、解码、执行、读取指令等。这种循环可以通过外部信号改变,这些信号是在控制总线(Control Bus)的线路上传送的。我们已经提过了等待线路的情况(参见图5.3)。
还有其他一些来源于处理器的信号,用于指示处理器的内部状态或者给外部设备提供信息(图5.4中显示了确认的示例),它们是在这条相同的总线上传送的。
通常通过触发器来记住控制线路的状态,然后反遇出激活它们的事件。
图5.3控制线路的测试
图5.4控制线路
5.1.1复位线路
复位(Reset)线路将导致处理器“重新引导”。当这条线路改变状态时,将初始化多个触发器和内部寄存器,然后获得引导地址。
(1)直接:利用给定的值初始化程序计数器(Intel I8080和Intel I8086微处理器就是这样,对于前者来说,将把程序计数器复位为0;对于后者来说,其物理(Physical)引导地址是FFFF016)。
(2)间接:程序计数器在加载时具有一个值,它是处理器从存储器中的某个固定地址(例如,8位Motorola MC6800微处理器中的FFFE16和FFFF16,参见图5.5)获取的。
图5.5Motorola MC6800中的引导方式
5.1.2保持线路
当除了处理器以外的某个单元(另一个处理器或交换器)尝试控制总线时,就会使用保持(Hold)线路。如果这个尝试成功,处理器就必须放弃访问总线。协议使用控制总线的两条线路:HOLD(保持)线路和HOLD Acknowledge(保持确认)线路。为了响应这个保持请求,处理器将发送一个确认,指示数据和地址总线切换为“高阻抗”状态。然后就称处理器处于空闲模式(Idle Mode)。
5.1.3等待控制线路
如我们已经见过的,当处理器(或者另一个输入输出设备)尝试获得长时间访问存储器的权限时,等待控制(Wait Control)线路就被证明是必要的。这种WAIT(等待)控制线路或READY(就绪)线路允许处理器在读或写操作期间插入等待周期(Wait Cycle)或等待状态(Wait State),同时等待必需的数据变得可用,或者输入输出单元做好准备。
5.1.4中断线路
中断(Interrupt)线路用于把外部事件考虑在内。可以执行一个指令序列来响应这种请求。这些事件的处理被称为中断,将在第6章介绍输入输出时讨论它。
5.1.5概念图
受Motorola MC6800微处理器的启发而得到的操作图可以表示为如图5.6所示。
图5.6操作图的示例
执行指令的完整阶段被称为指令周期(Instruction Cycle),这个周期的长度依赖于机器的体系结构。
5.2指令的执行:一个示例
本节将利用一个示例演示刚才所介绍的,这个示例基于Intel I8080微处理器的内部操作(参见图5.7)[INT 79]。依据Intel定义的表示法,我们所选的指令是add M。
图5.7Intel I8085
这个指令对寄存器A(累加器)与存储器字(其地址由HL寄存器(用作地址寄存器)的内容提供)的内容执行求和。结果存储在寄存器A中(参见图5.8)。
ISBN | 9787302460640 |
---|---|
出版社 | 清华大学出版社 |
作者 | 杰勒德·布兰切特 (Gerard Blanchet) |
尺寸 | 16 |