1、 Pentium的功能单元 3)代码 cache 8K字节 ◆每行32字节 ◆两路组相联结构组织的高速缓存 ◆ Cache目录为三端口结构 ◆允许两条流水线同时访问并支持监听功 能
1、Pentium的功能单元 3)代码Cache ◆ 8K字节 ◆ 每行32字节 ◆ 两路组相联结构组织的高速缓存 ◆ Cache目录为三端口结构 ◆ 允许两条流水线同时访问并支持监听功 能
1、 Pentium的功能单元 4)指令预取器 将所需要的指令从代码 cache读到指令预 取器,如果所需要的指令行不在代码 Cache 中,它启动一个总线的猝发周期,CPU从外 部存储器取指进行 Cache行填充操作
1、Pentium的功能单元 4)指令预取器 将所需要的指令从代码Cache读到指令预 取器,如果所需要的指令行不在代码Cache 中,它启动一个总线的猝发周期,CPU从外 部存储器取指进行Cache行填充操作
1、 Pentium的功能单元 5)预取缓冲器 ◆包含两组指令预取缓冲器,两组之间相互独立。 ◆指令预取器从指令 Cache中取出指令,将它们顺 预取缓冲器中,另一组缓冲器 处于空闲状态 ◆当预测分支指令会发生转移时,预取器将从转 移目标地址开始取出指令,放入 组空闲的 预取缓冲器中 ◆之后,预取器一直使用第二组缓冲器直到另 支指令被预测,再换回第一组缓冲器 ◆在线性取指和执行指令时,预取缓冲器将二对 指令分别送到 流水线U和V的指令译码器, 进行指令配对分析
1、Pentium的功能单元 5)预取缓冲器 ◆ 包含两组指令预取缓冲器,两组之间相互独立。 ◆ 指令预取器从指令Cache中取出指令,将它们顺 序存放在一组预取缓冲器中,另一组缓冲器则 处于空闲状态。 ◆ 当预测分支指令会发生转移时,预取器将从转 移目标地址开始取出指令,放入第二组空闲的 预取缓冲器中。 ◆ 之后,预取器一直使用第二组缓冲器直到另一 条分支指令被预测,再切换回第一组缓冲器。 ◆ 在线性取指和执行指令时,预取缓冲器将一对 指令分别送到两条流水线U和V的指令译码器, 进行指令配对分析
1、 Pentium的功能单元 6)指令译码单元 ◆两级指令译码单元,译码级1( Decoded)和译 码级2( Decode2) ◆译码级1除了包含指令配对检查逻辑以外,还包 含分支目标缓冲器BTB( Branch Target Buffer BTB具有分支预测功能。 ◆译码级2包貪流水线U和Ⅴ的存储器操作数产生逻 辑、分段逻辑以及期望检测逻辑 在 Decode 1中,检查在两条流水线中操作码是否 满足 Pentium指令的配对规则,如果满足,两条 指令同时被送到 Decode2。(功能) ◆如果指令是分支指令,则由BTB检查预测该指令 是 发生分支转移。在 Decode2中,计算指令 的操作数在存储器中的地址。(功能
1、Pentium的功能单元 6)指令译码单元 ◆ 两级指令译码单元,译码级1(Decode1)和译 码级2(Decode2)。(组成) ◆ 译码级1除了包含指令配对检查逻辑以外,还包 含分支目标缓冲器BTB(Branch Target Buffer)。 BTB具有分支预测功能。(结构) ◆ 译码级2包含流水线U和V的存储器操作数产生逻 辑、分段逻辑以及期望检测逻辑。(结构) ◆ 在Decode1中,检查在两条流水线中操作码是否 满足Pentium指令的配对规则,如果满足,两条 指令同时被送到Decode2。(功能) ◆ 如果指令是分支指令,则由BTB检查预测该指令 是否会发生分支转移。在Decode2中,计算指令 的操作数在存储器中的地址。(功能)
1、 Pentium的功能单元 7)控制单元 ◆包含微代码序列器和微代码控制ROM(成 ◆进行解释指、令控制断点、控制中断 ◆控制整数流水线和浮点流水线的操作(功能
1、Pentium的功能单元 7)控制单元 ◆ 包含微代码序列器和微代码控制ROM(组成) ◆ 进行解释指、令控制断点、控制中断(功能) ◆ 控制整数流水线和浮点流水线的操作(功能)