第2章微处理器的结构及存储器组成 指令和数据分别使用不同的 Cache,使 Pentium的性能大大 提高。例如,流水线的第一个步骤为指令预取,在这一步中, 指令从指令 Cache中取出来,如果指令和数据合用一个 Cache, 指令预取和数据操作之间很有可能发生冲突。提供两个独立的 Cache则可避免这种冲突并允许两个操作的并发执行
第2章 微处理器的结构及存储器组成 指令和数据分别使用不同的Cache,使Pentium的性能大大 提高。例如,流水线的第一个步骤为指令预取,在这一步中, 指令从指令Cache中取出来,如果指令和数据合用一个Cache, 指令预取和数据操作之间很有可能发生冲突。提供两个独立的 Cache则可避免这种冲突并允许两个操作的并发执行
第2章微处理器的结构及存储器组成 3)浮点操作 Pentium的浮点单元流水分为8级,浮点操作的执行过程分为 8级流水,使每个时钟周期能完成一个浮点操作,甚至在一个时 钟周期内能完成两个浮点操作。 浮点单元流水线的前4个步骤同整数流水线相同,后4个步 骤的前两步为二级浮点操作,后两步为四舍五入及写结果和出 错报告。 Pentium的FPU对一些常用指令如ADD、MUL和LOAD 等采用了新的算法,同时,用电路进行了固化,用硬件来实现, 提高了速度
第2章 微处理器的结构及存储器组成 3) 浮点操作 Pentium的浮点单元流水分为8级,浮点操作的执行过程分为 8级流水,使每个时钟周期能完成一个浮点操作,甚至在一个时 钟周期内能完成两个浮点操作。 浮点单元流水线的前4个步骤同整数流水线相同,后4个步 骤的前两步为二级浮点操作,后两步为四舍五入及写结果和出 错报告。Pentium的FPU对一些常用指令如ADD、MUL和LOAD 等采用了新的算法,同时,用电路进行了固化,用硬件来实现, 提高了速度
第2章微处理器的结构及存储器组成 4)分支预测 循环操作在软件设计中使用十分普遍,而每次循环中循环 条件的判断占用了大量的CPU时间。为此, Pentium提供一个称 为分支目标缓冲器BTB( Branch Target Buffer)的小 Cache来动态地 预测程序分支。当一条指令导致程序分支时,BTB记住这条指 令和分支目标的地址,并用这些信息预测这条指令再次产生分 支时的路径,预先从此处预取,保证流水线的指令预取步骤不 会空置。BTB机制如图2-8所示。 当BTB判断正确时,分支程序即刻得到解码。从循环程序 来看,在进入循环和退出循环时,BTB会发生判断错误,需重 新计算分支地址
第2章 微处理器的结构及存储器组成 4) 分支预测 循环操作在软件设计中使用十分普遍,而每次循环中循环 条件的判断占用了大量的CPU时间。为此,Pentium提供一个称 为分支目标缓冲器BTB(Branch Target Buffer)的小Cache来动态地 预测程序分支。当一条指令导致程序分支时,BTB记住这条指 令和分支目标的地址,并用这些信息预测这条指令再次产生分 支时的路径,预先从此处预取,保证流水线的指令预取步骤不 会空置。BTB机制如图2-8所示。 当BTB判断正确时,分支程序即刻得到解码。从循环程序 来看,在进入循环和退出循环时,BTB会发生判断错误,需重 新计算分支地址
第2章微处理器的结构及存储器组成 在 Pentium中,常用指令如MOV、INC、DEC、PUSH、 POP、JMP、CALL(near)、NOP、 SHIFT、NOT和TEST等改用 硬件实现,不再使用微码操作,使指令的运行得到进一步加快 而其他的微码指令由于运行于双流水线上,速度也得到了提高
第2章 微处理器的结构及存储器组成 在Pentium中,常用指令如MOV、INC、DEC、PUSH、 POP、JMP、CALL(near)、NOP、SHIFT、NOT和TEST等改用 硬件实现,不再使用微码操作,使指令的运行得到进一步加快。 而其他的微码指令由于运行于双流水线上,速度也得到了提高
第2章微处理器的结构及存储器组成 指令Cac 指令预 BtB 指令解码 图2-8 Pentium的BTB机制
第2章 微处理器的结构及存储器组成 指 令 Cache 指 令 预 取 BTB 指 令 解 码 图2-8 Pentium的BTB机制