单循环法如何计算Tc?

问题描述 投票:0回答:1

考虑一个处理器在执行指令时会经历以下六个阶段

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个阶段

  • 如果
  • id
  • 记忆
  • wb

但是在这个问题中 mem 分为 2 部分 Mr , Mw

在我的方法中,如果我们将 mem 算作一级 150+180= 330

Tc= 1050 纳秒。

mips cpu-architecture mips32
1个回答
0
投票

如果处理器是单周期处理器,在单个周期内或多或少地针对同一指令运行所有这些“阶段”,那么所需的分析就是关键路径分析。

在关键路径分析中,我们跟踪从周期开始(从程序计数器开始并从指令存储器中获取)到寄存器更新发生时的周期结束的(控制和数据)信号流。

如果两个或多个组件可以并行运行,它们就会并行运行,因此它们的关键路径是其中最慢的。串联运行的事物必须相加,而并行运行的事物则取最大值。因此,从概念上讲,该公式看起来像 sum ( ..., max ( , ), ... ),其中 max 代表可以并行运行的事物。

但是,为了获得更详细的信息,我们将使用框图并分配输入到达时间和给定组件持续时间,然后在框图中设置每个输出的时间。分析需要知道什么可以并行运行,什么可以串行运行,这可以通过将组件的输出连接到后继的输入的框图接线来识别。此分析允许组件可以并行运行,但由于前辈不同,因此不一定同时启动(接收其输入)。

考虑一个处理器在执行指令时会经历以下六个阶段

因此,您必须问自己,相应的框图是否只是将每个阶段连接到列表中的下一个阶段,还是有任何并行的机会? 请注意,MIPS 没有单独的指令来读取和写入内存。


如果处理器是流水线式的,这意味着所有阶段重叠,但每个阶段针对不同的指令,因此周期时间只是每个单独阶段的最大值,因为整个处理器每个周期运行最慢的阶段之一(但对于不同的指令)。

© www.soinside.com 2019 - 2024. All rights reserved.