计算机组织与结构 (43)
指令流水原理 1. 指令的串行执行 取指令 3执行指令 3 … 取指令 2执行指令 2取指令 1执行指令 1 取指令 取指令部件 完成 总有一个部件 空闲 执行指令 执行指令部件 完成 指令流水原理 2. 指令的二级流水 取指令 1 执行指令 1 取指令 2 执行指令 2 取指令 3 执行指令 3 指令预取 若取指和执行阶段时间上完全重叠 指令周期减半 速度提高 1 倍 指令的六级流水 设指令的执行分为六个阶段: (1) 取指 (2) 译码 (3) 计算操作数地址 (4) 取数 (5) 执行 (6) 写回 指令的六级流水 CO FO EI WODIFI CO FO EI WODIFI CO FO EI WODIFI COFO EI WODIFI CO FO EI WODIFI CO FO EI WODIFI CO FO EI WODIFI CO FO EI WODIFI CO FO EI WODIFI 指令 1 指令 2 指令 3 指令 4 指令 5 指令 6 指令 7 指令 8 指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 t 取指、译码、计算操作数地址、 取数、执行,写回 单位之后,每个时间单位完成一条指令。 六级流水, 14 个时间单位, 完成 9 条指令,第 6 个时间 流水线性能 1. 吞吐量 单位时间内流水线所完成指令或输出结果 的数量 设 m 级的流水线,各段时间为 Δt 最大吞吐率 实际吞吐率(未考虑相关问题) 连续处理 n 条指令的吞吐率为 Tpmax = Δ 1 t Tp = m ·Δ + (n-1) · Δ n tt 流水线性能 2. 加速比 Sp m 段的流水线的速度与等功能的非流水线的 速度之比 设流水线各段时间为 Δt m + n -1 Sp= m · +(n-1) · nm · = nm Δt ΔΔ t t T ′= n ( m · Δt ) T = m·Δt + (n-1)·Δt 完成 n 条指令在 m 段流水线上共需 完成 n 条指令在等效的非流水线上共需 则 流水线性能 3. 效率 流水线中各功能段的利用率。 由于流水线有建立时间和排空时间。 因此各功能段的设备不可能一直处于工作状态。 mΔt 31245 31245 31245 31245 … … … … … … … … … … … … n-1 n n-1 n n-1 n n-1 n T 时 间 S 空间 S4 S3 S2 S1 (n-1) Δt 时空图 流水线性能 3. 效率 mΔt 31245 31245 31245 31245 … … … … … … … … … … … … n-1 n n-1 n n-1 n n-1 n T 时 间 S 空间 S4 S3 S2 S1 (n-1) Δt m(m + n -1) Δt = mnΔt 流水线中各段总的时空区 流水线各段处于工作时间的时空区 效率 = 时空图 流水线技术的由来 在英格兰北部的一个小镇里,艾薇开了一个小店, 卖鱼和油煎土豆片。艾薇店里的油煎土豆片是小镇中最 好的,在每个集市日中午的时候,长长的队伍都会排出 商店。 后来他们把柜台加长,艾薇、伯特、狄俄尼索斯和 玛丽站成一排。顾客进来的时候,艾薇先给他们一个盛 着鱼的盘子,然后伯特给加上油煎土豆片,狄俄尼索斯 再给盛上豌豆糊,最后玛丽倒茶并收钱。 顾客们不停的走动;当一个 顾客拿到豌豆糊的同时,他后面 的已经拿到了油煎土豆片,再后 面的一个已经拿到了鱼。