考虑一个处理器在执行指令时会经历以下六个阶段
A 栏 | B 栏 |
---|---|
如果 | 120纳秒 |
身份证 | 200 纳秒 |
前 | 150 纳秒 |
先生 | 150 纳秒 |
MW | 180纳秒 |
WB | 250 纳秒 |
找出下面给定代码在单周期方法中的总时间。
addi $s0,$zero,100
sw $t0,20($s0)
lw $t1,36($s0)
sub $s2,$t0,$t1
or $t0,$t1,$s2
我只知道有5个阶段
但是在这个问题中 mem 分为 2 部分 Mr , Mw
在我的方法中,如果我们将 mem 算作一级 150+180= 330
Tc= 1050 纳秒。
如果处理器是单周期处理器,在单个周期内或多或少地针对同一指令运行所有这些“阶段”,那么所需的分析就是关键路径分析。
在关键路径分析中,我们跟踪从周期开始(从程序计数器开始并从指令存储器中获取)到寄存器更新发生时的周期结束的(控制和数据)信号流。
如果两个或多个组件可以并行运行,它们就会并行运行,因此它们的关键路径是其中最慢的。串联运行的事物必须相加,而并行运行的事物则取最大值。因此,从概念上讲,该公式看起来像 sum ( ..., max ( , ), ... ),其中 max 代表可以并行运行的事物。
但是,为了获得更详细的信息,我们将使用框图并分配输入到达时间和给定组件持续时间,然后在框图中设置每个输出的时间。分析需要知道什么可以并行运行,什么可以串行运行,这可以通过将组件的输出连接到后继的输入的框图接线来识别。此分析允许组件可以并行运行,但由于前辈不同,因此不一定同时启动(接收其输入)。
考虑一个处理器在执行指令时会经历以下六个阶段
因此,您必须问自己,相应的框图是否只是将每个阶段连接到列表中的下一个阶段,还是有任何并行的机会? 请注意,MIPS 没有单独的指令来读取和写入内存。
如果处理器是流水线式的,这意味着所有阶段重叠,但每个阶段针对不同的指令,因此周期时间只是每个单独阶段的最大值,因为整个处理器每个周期运行最慢的阶段之一(但对于不同的指令)。