、指令流水线 CPU执行一条指令的过程类似于工厂生产流水线,被分 解为多个小的步骤,称为指令流水线 数据和程 控制器的 ALU等 处理后 存储器 输出 序指令 调度分配 功能部件 数据 原料调度分配生产线 成品仓库出厂 取指令指令 取操 作数 指令 存放 结果 6
6 一、指令流水线 取指令 指令 译码 取操 作数 执行 指令 存放 结果 ➢ CPU执行一条指令的过程类似于工厂生产流水线,被分 解为多个小的步骤,称为指令流水线。 原料 调度分配 生产线 成品 仓库 出厂 数据和程 序指令 控制器的 调度分配 ALU等 功能部件 处理后的 数据 存储器 输出
指令流水线 ■指令流水线有两种运作方式: 串行方式: 取指令和执行指令在不同的时刻按顺序执行。 并行方式: 取指令和执行指令可同时执行,需要有能并行工作 的硬件的支持
7 指令流水线 ◼ 指令流水线有两种运作方式: ◼ 串行方式: 取指令和执行指令在不同的时刻按顺序执行。 ◼ 并行方式: 取指令和执行指令可同时执行,需要有能并行工作 的硬件的支持
串行工作方式 8086以前的CPU采用串行工作方式 CPU取指令1执行1取指令2执行2取指令3执行3 BUS忙碌空闲忙碌空闲忙碌空闲 >6个周期执行了3条指令
8 串行工作方式 ◼ 8086以前的CPU采用串行工作方式 CPU 取指令1 执行1 取指令2 执行2 BUS 忙 碌 忙 碌 取指令3 执行3 空闲 空闲 忙 碌 空闲 t0 t1 t2 t3 t4 t5 ➢6个周期执行了3条指令
并行工作方式 8086cPU采用并行工作方式 CPU取指令1执行1 取指令2执行2 取指令3执行3 取指令4执行4 取指令5执行5 >6个周期 BUS|忙碌忙碌忙碌忙碌忙碌忙碌执行了5条 t5指令
9 并行工作方式 ◼ 8086CPU采用并行工作方式 取指令1 取指令2 取指令3 取指令4 执行1 执行2 执行3 BUS 忙碌 执行4 CPU t0 t1 t2 t3 t4 t5 取指令5 执行5 忙碌 忙碌 忙碌 忙碌 忙碌 ➢6个周期 执行了5条 指令
并行操作的前提 ■取指令部件和指令执行部件要能够并行工作; 各部件执行时间基本相同,否则需再细分; ■取指令部件取出的指令要能暂存在cPU内部 某个地方; ■指令执行部件在需要时总能立即获得暂存的 指令; ■需要解决转移指令问题
10 并行操作的前提 ◼ 取指令部件和指令执行部件要能够并行工作; ◼ 各部件执行时间基本相同,否则需再细分; ◼ 取指令部件取出的指令要能暂存在CPU内部 某个地方; ◼ 指令执行部件在需要时总能立即获得暂存的 指令; ◼ 需要解决转移指令问题