1.什么是计算机体系结构? 计算机体系结构包括两层含义 狭义的定义为计算机体系结构是程序员所看到的系统的一些属性:概念性的结构和功能上的表 现,这些属性既不同于数据流和控制的组织,也不同于逻辑设计和物理实现。这是从程序员, 特别是汇编语言程序员的角度所看到的计算机系统的属性 广义地看,计算机体系结构是连接硬件和软件的一门学科,它研究的内容不但涉及计算机硬 件,也涉及计算机软件。 2. Pentium微处理器的整数流水线是怎样工作的? Pentium微处理器包含两条整数流水线:U流水线和V流水线 Pentium微处理器整数指令的执行要经过流水线中的五个操作步骤 PF(预取):处理器从代码 cache中预取指令 Dl(译码阶段1):处理器对指令译码确定操作码和寻址信息。在这个阶段还进行指令的成对 性检查和分支预测 D2(译码阶段2):产生访问存储器的地址 EX(执行):处理器或者访问数据 cache,或者利用ALU、筒型移位器或其他功能单元计算结 果 WB(写回):利用指令运行结果更新寄存器和标志寄存器 3. Pentium微处理器的配对规则是什么 1.两条指令都是简单指令 2.没有写后读和写后写的依赖关系 3.一条指令不能同时既包含位移量又包含立即数 4.带前缀的指令只能出现在U流水线中 5.此外,条件分支转移指令和非条件分支转移指令,只有当它们作为配对中的第二条指令出 现时才可以配对 4.分支转移预测功能的意义是什么? 由于课本对 Pentium的分支预测功能介绍的比较粗略,这里多做一些解释: 要充分理解分支预测的意义,首先要了解条件转移指令对流水线效率的影响。条件转移指 令在D阶段经过的指令译码即可被处理器所发现,但是转移的方向,则要等到其前面的指令 经过wB步骤更新了标志寄存器后才能确定,所以通常情况下一旦处理器发现条件转移指令, 则停止后续指令的预取,等到条件转移指令前面的指令执行完毕,更新了标志寄存器,确定了 转移方向以后,再重新开始流水线操作,而这时流水线已经空置,等到指令再次流到执行部 件,执行部件已经停顿了好几个周期,所以条件转移指令对流水线效率的影响很大 为了改进由于条件转移指令引起的流水线停顿现象,采取分支预测是一种有效的措施 Pentium处理器采用动态分支预测策略,它根据最近执行的分支指令的历史状况来实现预 测。BTB中保持着最近所遇到的条件转移指令的信息,每当在指令流中遇到条件转移指令指 令时,就对BIB进行检查,如果该指令的信息在BTB已经存在,那么就依据它的历史信息进 行预测,并按预测的转移方向继续预取指令,如果预测正确,则可以保证流水线不会空置,如 果预测错误,那么流水线只好刷新,重新按另一个方向读取指令,这样处理器要花费3~4个周 期的延迟 在BTB中,被缓存的条件转移指令的信息包括2位的历史信息,所以有4种状态,11为最 可能发生转移,00为最不可能发生转移。新进入BTB的指令其历史信息为11,此后出现一次 未发生转移的情况,则将其减1,直到减为00,而发生一次转移,则将其加1,直到为1
1. 什么是计算机体系结构? 计算机体系结构包括两层含义。 狭义的定义为计算机体系结构是程序员所看到的系统的一些属性:概念性的结构和功能上的表 现,这些属性既不同于数据流和控制的组织,也不同于逻辑设计和物理实现。这是从程序员, 特别是汇编语言程序员的角度所看到的计算机系统的属性。 广义地看,计算机体系结构是连接硬件和软件的一门学科,它研究的内容不但涉及计算机硬 件,也涉及计算机软件。 2. Pentium 微处理器的整数流水线是怎样工作的? Pentium 微处理器包含两条整数流水线:U 流水线和 V 流水线。 Pentium 微处理器整数指令的执行要经过流水线中的五个操作步骤: PF(预取):处理器从代码 cache 中预取指令 D1(译码阶段 1):处理器对指令译码确定操作码和寻址信息。在这个阶段还进行指令的成对 性检查和分支预测 D2(译码阶段 2):产生访问存储器的地址 EX(执行):处理器或者访问数据 cache,或者利用 ALU、筒型移位器或其他功能单元计算结 果 WB(写回):利用指令运行结果更新寄存器和标志寄存器 3. Pentium 微处理器的配对规则是什么 1. 两条指令都是简单指令 2. 没有写后读和写后写的依赖关系 3. 一条指令不能同时既包含位移量又包含立即数 4. 带前缀的指令只能出现在 U 流水线中 5. 此外,条件分支转移指令和非条件分支转移指令,只有当它们作为配对中的第二条指令出 现时才可以配对。 4. 分支转移预测功能的意义是什么? 由于课本对 Pentium 的分支预测功能介绍的比较粗略,这里多做一些解释: 要充分理解分支预测的意义,首先要了解条件转移指令对流水线效率的影响。条件转移指 令在 D1 阶段经过的指令译码即可被处理器所发现,但是转移的方向,则要等到其前面的指令 经过 WB 步骤更新了标志寄存器后才能确定,所以通常情况下一旦处理器发现条件转移指令, 则停止后续指令的预取,等到条件转移指令前面的指令执行完毕,更新了标志寄存器,确定了 转移方向以后,再重新开始流水线操作,而这时流水线已经空置,等到指令再次流到执行部 件,执行部件已经停顿了好几个周期,所以条件转移指令对流水线效率的影响很大。 为了改进由于条件转移指令引起的流水线停顿现象,采取分支预测是一种有效的措施。 Pentium 处理器采用动态分支预测策略,它根据最近执行的分支指令的历史状况来实现预 测。BTB 中保持着最近所遇到的条件转移指令的信息,每当在指令流中遇到条件转移指令指 令时,就对 BTB 进行检查,如果该指令的信息在 BTB 已经存在,那么就依据它的历史信息进 行预测,并按预测的转移方向继续预取指令,如果预测正确,则可以保证流水线不会空置,如 果预测错误,那么流水线只好刷新,重新按另一个方向读取指令,这样处理器要花费 3~4 个周 期的延迟。 在 BTB 中,被缓存的条件转移指令的信息包括 2 位的历史信息,所以有 4 种状态,11 为最 可能发生转移,00 为最不可能发生转移。新进入 BTB 的指令其历史信息为 11,此后出现一次 未发生转移的情况,则将其减 1,直到减为 00,而发生一次转移,则将其加 1,直到为 11
分支预测对循环的意义最为显著,只有在进入和退出循环时才会发生预测错误,而在循环 中间过程中进行的分支预测都是正确的。据统计,采用动态分支预测策略,预测的正确率可以 达到85%95% 5.实模式下 Pentium微处理器的堆栈操作是怎样进行的,试举例说明 参考课本的第65页,需要指出的是书上图3.15中间的那个图中,栈顶所指是错误的,应该指 向3412。 6.字ABCD(H)存放地址为0A002(H)的存储器中,如何存放,是对准字还是非对准字? 0A0O3AB 0A002 CD 0A002能够被2整除,所以是对准字 7.计算下列物理地址 1000:123 物理地址为11234H 0100: ABCD 物理地址为 OBBCDH
分支预测对循环的意义最为显著,只有在进入和退出循环时才会发生预测错误,而在循环 中间过程中进行的分支预测都是正确的。据统计,采用动态分支预测策略,预测的正确率可以 达到 85%~95%。 5. 实模式下 Pentium 微处理器的堆栈操作是怎样进行的,试举例说明 参考课本的第 65 页,需要指出的是书上图 3.15 中间的那个图中,栈顶所指是错误的,应该指 向 3412。 6. 字 ABCD(H)存放地址为 0A002 (H)的存储器中,如何存放,是对准字还是非对准字? CD AB 0A002 0A003 ~ ~ ~ ~ 0A002 能够被 2 整除,所以是对准字 7. 计算下列物理地址: 1000:1234 物理地址为 11234H 0100:ABCD 物理地址为 0BBCDH