热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么此汇编代码块在管道中有2个停顿而不是1个?

如何解决《为什么此汇编代码块在管道中有2个停顿而不是1个?》经验,为你挑选了1个好方法。

为了详细说明主要问题,为什么第三行在已经回写了Register2之后的时钟周期执行一次执行?我以为它应该只有1个档位在管道中。但是我不对。LOAD和STORE标签是否只是某种质量,我们必须暂停一个额外的周期?我有点困惑。这是代码块:

ADD R2, #4
LSL R4, #5
LDR R1, [R2]
LDR R3, [R2]
SUB R5, #2
SUB R6, #3

我们必须制作一个5阶段的管道图来显示数据危害。在图片中,它有2个危险。

由正确答案的朋友发送的过去任务的图像。

我要添加来自同一任务的另一个问题的代码。评论内部是正确的过程。

@ CLOCK CYCLE      1     2     3     4      5     6      7     8
STR R2, [R5]     @IF -> ID -> EX -> MEM -> WB
STR R3, [R6]     @      IF -> ID -> EX  -> MEM -> WB
MUL R4, R1, R2   @            IF -> ID  -> NOP -> EX -> MEM -> WB

这个只有一个档位。



1> Afshin..:

更新: 根据评论,看来我的分析是错误的。因此,我删除了自己的分析。

您可以在此处模拟管道:http : //www.ecs.umass.edu/ece/koren/architecture/windlx/main.html

对于具有互锁但没有旁路转发的常规classic-RISC(MIPS)管道,这显示了1个停顿周期。


@PeterCordes我发现了这一点:http://www.ecs.umass.edu/ece/koren/architecture/windlx/main.html,它也显示了1个档位。
推荐阅读
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 使用Jenkins pipeline流水线构建docker镜像和发布
    新建一个pipelinejob选择Pipeline任务,然后进入配置页面。对于Pipeline,Definition选择PipelinescriptfromSCM.需要注意的是 ... [详细]
  • 一.什么是openGLOpenGL被定义为“图形硬件的一种软件接口”。从本质上说,它是一个3D图形和模型库,具有高度的可移植性,具有非常快的速度。二.管线管线这个术语描述了open ... [详细]
  • Redis本身是一个cs模式的tcpserver,client可以通过一个socket连续发起多个请求命令。这篇文章带领大家学习redis为什么要提供pipeline功能,需要的朋友可以参考下 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • 网卡工作原理及网络知识分享
    本文介绍了网卡的工作原理,包括CSMA/CD、ARP欺骗等网络知识。网卡是负责整台计算机的网络通信,没有它,计算机将成为信息孤岛。文章通过一个对话的形式,生动形象地讲述了网卡的工作原理,并介绍了集线器Hub时代的网络构成。对于想学习网络知识的读者来说,本文是一篇不错的参考资料。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • uboot与linux驱动1.uboot本身是裸机程序(1)在裸机中本来是没有驱动概念的(狭义的驱动概念是指在操作系统中用来具体操控硬 ... [详细]
  • 当Item在Spider中被收集之后,它将会被传递到ItemPipeline,这些ItemPipeline组件按定义的顺序处理Item。每个ItemPipeline都是实现了简单方 ... [详细]
  • ItemPipeline当Item在Spider中被收集之后,它将会被传递到ItemPipeline,这些ItemPipeline组件按定义的顺序处理Item。每个ItemPipeline ... [详细]
  • 在尝试Spark+MongoDB过程中,总是遇到Cursorxxxxxnotfound错误,尝试加入keep_alive_ms和pipeline也不能解决问题。目前总数据量在100 ... [详细]
  • php redis 如何使用pipeline,redis中pipeline详解
    一、pipeline出现的背景:redis执行一条命令有四个过程:发送命令、命令排队、命令执行、返回结果;这个过程称为Roundtript ... [详细]
  • Pipeline支持两种语法:Declarative(在Pipeline2.5中引入)和ScriptedPipeline语法:pipeline{*insertDeclarative ... [详细]
  • IhaveaC++projectinUbuntu12.04.Toruntheprojectthemakefilerequiresthefollowingfiles: ... [详细]
  • 如何解决《text/html模板包中的"范围"操作和"管道"说明.Golang》经验,为你挑选了1个好方法。 ... [详细]
author-avatar
顺佳海外
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有