
计算机系统结构 (第19讲) 主讲人: 郑纬民教授 清华大学计算机系
计算机系统结构 (第19讲) 主讲人: 郑纬民 教授 清华大学计算机系

Motorola公司的MC88110: 10个操作部件 两个寄存器堆:整数部件通用寄存器 堆,32个32位寄存器;浮点部件扩展寄存 器堆,32个80位寄存器。每个寄存器堆有 8个端口,分别与8条内部总线相连接,有 一个缓冲深度为4的先行读数栈和一个缓 冲深度为3的后行写数栈。 两个独立的高速Cache中,各为8KB, 采用两路组相联方式, 转移目标指令Cache,.在有两路分支 时,存放其中一路分支上的指令
Motorola公司的MC88110: 10个操作部件 两个寄存器堆:整数部件通用寄存器 堆,32个32位寄存器;浮点部件扩展寄存 器堆,32个80位寄存器。每个寄存器堆有 8个端口,分别与8条内部总线相连接,有 一个缓冲深度为4的先行读数栈和一个缓 冲深度为3的后行写数栈。 两个独立的高速Cache中,各为8KB, 采用两路组相联方式, 转移目标指令Cache,在有两路分支 时,存放其中一路分支上的指令

霱露麟麟麟靨 内部总线 扩 展寄 数据Cache(8KB) 指令Cache(8KB) 系统总线 32位地址总线 32位数据总线 超标量处理机MC88110的结构
整数 部件 整数 部件 位 操作 浮点 加 乘法 部件 除法 部件 图形 部件 图形 部件 内部总线 读数存 数部件 通用寄 存器堆 扩展寄 存器堆 目标 指令 指令分配 转移部件 数据Cache (8KB) 指令Cache (8KB) 系统总线 32位地址总线 32位数据总线 超标量处理机MC88110的结构

5.3.2单发射与多发射 单发射处理机: 每个周期只取一条指令、只译码一 条指令,只执行一条指令,只写回一个 运算结果 取指部件和译码部件各设置一套 可以只设置一个多功能操作部件, 也可以设置多个独立的操作部件 操作部件中可以采用流水线结构, 也可以不采用流水线结构 设计目标是每个时钟周期平均执行 一条指令,LP的期望值1
5.3.2 单发射与多发射 单发射处理机: 每个周期只取一条指令、只译码一 条指令,只执行一条指令,只写回一个 运算结果 取指部件和译码部件各设置一套 可以只设置一个多功能操作部件, 也可以设置多个独立的操作部件 操作部件中可以采用流水线结构, 也可以不采用流水线结构 设计目标是每个时钟周期平均执行 一条指令,ILP的期望值1

单发射处理机的指令流水线时空图 2 3 4 5 6 时钟 IF ID EX WR 周期 IF ID EX WR IF ID EX WR 指令
IF 时钟 周期 指令 I1 I2 I3 ID EX WR IF ID EX WR IF ID EX WR 1 2 3 4 5 6 单发射处理机的指令流水线时空图

FA1FA2FA3 来自指 浮点加法部件 令Cache MD1小MD2MD3 国 乘除法部件 WR AL 定点ALU部件 藏貜 LS 取数存数部件
IF ID FA1 FA2 FA3 MD1MD2MD3 AL LS 浮点加法部件 乘除法部件 定点ALU部件 取数存数部件 WR 来自指 令Cache 通用寄存器 后行写数栈

多发射处理机: 每个周期同时取多条指令、同时译 码多条指令,同时执行多条指令,同时 写回多个运算结果 需要多个取指令部件,多个指令译 码部件和多个写结果部件 设置多个指令执行部件,复杂的指 令执行部件一般采用流水线结构 设计目标是每个时钟周期平均执行 多条指令,LP的期望值大于1
多发射处理机: 每个周期同时取多条指令、同时译 码多条指令,同时执行多条指令,同时 写回多个运算结果 需要多个取指令部件,多个指令译 码部件和多个写结果部件 设置多个指令执行部件,复杂的指 令执行部件一般采用流水线结构 设计目标是每个时钟周期平均执行 多条指令,ILP的期望值大于1

多发射处理机的指令流水线时空图 3 4 5 6 时钟 EX WR 周期 ID EX WR 13 ID EX WR If EX WR IF EX WR IF EX WR EX WR IF ID EX WR 指令 IF ID EX WR
IF 时钟 周期 指令 I1 I2 I3 ID EX WR 1 2 3 4 5 6 多发射处理机的指令流水线时空图 I4 I5 I6 IF ID EX WR I7 I8 I9 IF ID EX WR IF ID EX WR IF ID EX WR IF ID EX WR IF ID EX WR IF ID EX WR IF ID EX WR

FA1FA2FA3 浮点加法部件 回回 MD1MD2MD3 乘除法部件 WR AL 定点ALU部件 LS 取数存数部件
IF ID FA1 FA2 FA3 MD1MD2MD3 AL LS 浮点加法部件 乘除法部件 定点ALU部件 取数存数部件 IF ID WR WR

超标量处理机: 一个时钟周期内能够同时发射多条指 令的处理机称为超标量处理机 必须有两条或两条以上能够同时工作 的指令流水线 先行指令窗口: 能够从指令Cache中预取多条指令 能够对窗口内的指令进行数据相关性 分析和功能部件冲突的检测 窗口的大小:一般为2至8条指令 采用目前的指令调度技术,每个周期 发射2至4条指令比较合理
超标量处理机: 一个时钟周期内能够同时发射多条指 令的处理机称为超标量处理机 必须有两条或两条以上能够同时工作 的指令流水线 先行指令窗口: 能够从指令Cache中预取多条指令 能够对窗口内的指令进行数据相关性 分析和功能部件冲突的检测 窗口的大小:一般为2至8条指令 采用目前的指令调度技术,每个周期 发射2至4条指令比较合理