首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >假设的循环迭代器

假设的循环迭代器
EN

Stack Overflow用户
提问于 2019-10-11 01:46:27
回答 1查看 98关注 0票数 0

有人能帮我做家庭作业吗?我不明白这个问题,你能给我解释一下吗?

下面是一个假设的循环迭代器的简写,它可能在MIPS指令集中。

itr $t6,循环# if(Rrs>0) Rrs=Rrs-1 PC=PC+4+BranchAddr

A)在可用的指令格式R、I、J中,哪种指令格式最适合itr?

B)使用现有的MIPS指令集实现itr。

C)根据计算机体系结构和计算机组成原理,阐述MIPS指令集中没有该指令的原因。

EN

回答 1

Stack Overflow用户

发布于 2019-10-11 02:04:04

循环itr $t6,循环# if(Rrs>0) Rrs=Rrs-1 PC=PC+4+BranchAddr

这是一个非正式的语法和解释。语法是有一个操作码(itr),它接受两个操作数:第一个是寄存器,第二个是标签。

#后面的内容表明他们期望指令做什么:粗略地说,这条指令是一个条件分支,它测试寄存器rs中的值是否>0-当大于0时,它将递减该寄存器,然后将分支转移到目标地址。如果不大于0,则不采用分支。

此指令可用于递减计数循环中。

让我们用C代码写出条件分支:

代码语言:javascript
复制
if ( rs > 0 ) {
    rs--;
    goto loop;
}
// ...else, fall thru to here...

(a)如果这是一条真正的MIPS指令,他们想让你说出它会采用哪种格式。你应该为指令绘制一种格式,然后查看指定的格式,看看哪种格式最接近。

(b)他们希望您使用现有的MIPS指令序列执行此操作。您可以将上述C语言转换为MIPS汇编。

(c)从理论上解释为什么这条指令会很困难或与MIPS处理器的设计目标背道而驰(这些设计目标包括短周期持续时间和简单性)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58328468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档