计算机系统基础习题

若机器 M1 和 M2 具有相同的指令集,其时钟频率分别为 1GHz 和 1.5GHz。在指令集中有五种不同
类型的指令 A~E。下表给出了在 M1 和 M2 上每类指令的平均时钟周期数 CPI。
机器 A B C D E
M1 1 2 2 3 4
M2 2 2 4 5 6
请回答下列问题:
(1)M1 和 M2 的峰值 MIPS 各是多少?
(2)假定某程序 P 的指令序列中,五类指令具有完全相同的指令条数,则程序 P 在 M1 和 M2 上
运行时,哪台机器更快?快多少?在 M1 和 M2 上执行程序 P 时的平均时钟周期数 CPI 各是
多少?

(1)

首先,理解MIPS—— million instruction per second 每秒执行多少几百万条指令

联系题目给的时钟频率——1GHz和1.5GHz

P s : " 1 G " 的 G 在 这 里 并 不 是 具 体 储 存 数 据 的 多 少 , 而 是 10 的 9 次 方 , 十 亿 \color{red}{Ps: "1G"的G在这里并不是具体储存数据的多少,而是10的9次方,十亿} Ps:"1G"G109亿

其 实 可 以 就 把 G 当 作 科 学 计 数 法 10 的 n 次 方 去 看 \color{green}{其实可以就把G当作科学计数法10的n次方去看} G10n

(源于——1G=1000M=1000 000KB=1000 000 000B)

1 G H z 即 为 1 X 1 0 9 H z , 然 后 1 / f , 则 表 示 1 X 1 0 − 9 s = 1 n s \color{red}{1GHz 即为1X10^9Hz,然后 1/f,则表示1X10^-9s=1ns } 1GHz1X109Hz1/f1X109s=1ns

即 表 示 一 个 时 钟 的 周 期 为 1 n s \color{red}{即表示一个时钟的周期为1ns } 1ns

那么,在一秒内,机器M1和M2分别会有1G和1.5G个时钟周期

用总的时钟周期除以一条指令所需的时钟周期,则为可执行的指令数

回 到 问 题 — — 峰 值 M I P S , 则 需 要 找 哪 条 指 令 需 要 最 少 的 c l o c k \color{red}{回到问题——峰值MIPS,则需要找哪条指令需要最少的clock} MIPSclock

对M1: 1G/1=1G=1000M 则峰值MIPS为1000MIPS (M表示百万 million)

对M2:1.5G/2=0.75G=750M 则峰值MIPS为1000MIPS

(2)

首先,平均的CPI是很容易求的

M1: (1+2+2+3+4)/5=2.4

M2:(2+2+4+5+6)/5=3.8

然 后 , 给 定 N 条 指 令 , 看 他 们 执 行 的 时 间 即 可 比 较 快 慢 \color{red}{然后,给定N条指令,看他们执行的时间即可比较快慢} N

M1: 2.4N/1=2.4N(ns)

M2:3.8N/1.5=2.53N(ns)

( 2.4 N 为 需 要 的 总 时 钟 数 , 除 以 时 钟 频 率 , 即 为 所 需 时 间 ) \color{red}{(2.4N为需要的总时钟数,除以时钟频率,即为所需时间)} (2.4N)

( 关 系 类 似 与 路 程 除 以 速 度 等 于 时 间 ) \color{red}{(关系类似与路程除以速度等于时间)} ()

则M1快,每条指令比M2快了0.13ns

当 N = 1 时 , 即 是 “ 每 条 指 令 ” 的 情 况 \color{green}{当N=1时,即是“ 每条指令”的情况} N=1

你可能感兴趣的:(原理)