首页 > 解决方案 > 如何计算 mips 汇编编程的时钟周期?

问题描述

我到处搜索,我收集了管道或其他东西。我检查了其他程序,似乎有一个单周期和多周期:单周期和多周期 MIPS 的时钟周期

我如何区分哪个周期。

例如,这将是多少个时钟周期:

li $a0, 0 # $a0 = 0
 li $t0, 10 # Initialize loop counter to 10
Loop:
 add $a0, $a0, $t0
 addi $t0, $t0, -1 # Decrement loop counter
 bgt $t0, $zero, Loop # If ($t0 > 0) Branch to loop

我的教授给了我这个任务:“假设在内存中加载和存储值需要 100 个周期加上指令本身的成本。”

根据我的阅读,加载是 5 个周期,那么为什么我的教授说它是 100 个周期。我可以做任何我想要的数字吗?我很困惑。

标签: assemblymipsmars-simulator

解决方案


这个问题没有意义。

大多数教育 MIPS 实现中使用的标准多周期 RISC 流水线基本上是基于程序和数据存储器可以在单个周期内同时访问的要求。要“假设在内存中加载和存储值需要 100 个周期”,则需要完全不同的架构。


推荐阅读