问题标签 [pipelining]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3950 浏览

assembly - MIPS 中的延迟分支

我有以下 MIPS 代码,我希望重写/重新排序代码,以便 在保持正确性的同时减少正确流水线执行所需的nop指令数量。假设数据路径既不停止也不转发。这个问题有两个提示:它提醒我们分支和跳转被延迟并且需要填充它们的延迟槽,并且它提示在必要时在内存访问指令(lw,sw)中更改偏移值。

对我来说很明显,这段代码增加了一个数组的内容并将其存储在另一个数组中。因此,我并没有完全了解如何重新排列此代码,因为需要在完成循环之前计算索引。

我的猜测是在分支指令之后移动lw指令,因为(据我所知)延迟槽中的指令总是被执行。再说一次,我不太了解这个主题,我希望能得到解释。我一般理解流水线,但没有那么多延迟分支。谢谢

0 投票
2 回答
1271 浏览

c# - 管道的 C# 线程

我目前正在为我的 asm 模拟器创建一个管道。我要用多线程来做到这一点。目前我有四个线程,分别对应于 Fetch、Decode、Execute 和 Write Back。我对如何编写正确的管道感到困惑。这是我的一些代码:

我使用此方法通过单击按钮运行循环:

每个按钮单击将始终以 Fetch 开头。在那之后,我想也许我可以在 Fetch 方法中放置一个 set 事件来调用循环中的下一部分(解码)并对以下方法执行相同的操作。我最终会得到这样的结果:

与其把这些设定的事件公开,我认为它们应该被某种逻辑激活,但我不知道是什么样的逻辑。也许它们可以通过单击按钮来激活。这将允许我控制指令何时在循环中传递。从理论上讲,我认为这可以给我一个管道的结构。任何人都可以对此提供任何意见吗?这可以通过自动重置事件来完成吗?

如果您查看我提供的第一段代码,您会发现我尝试使用锁,但这使得它一次只能运行一个线程。我想让它遵循等的格式Fetch0, {Decode0, Fetch1}, {Execute0, Decode1, Fetch3},...。在这种情况下,锁是必需品吗?

0 投票
0 回答
195 浏览

nic - 网络中的 NIC 流水线

谁能解释一下什么是NIC 流水线以及它是如何工作的?我一直在研究有关 Netscaler 的教程,在那里我遇到了流水线这个术语。那么任何人都可以解释一下吗?

0 投票
1 回答
5499 浏览

computer-science - Verilog:流水线化简单处理器的步骤

几分钟前我问了另一个问题,但是,我正在完成一个项目。部分好处是流水线化我们的处理器设计。我有一个简单的基于累加器的处理器,带有数据总线和地址总线。它具有三个基本阶段 [获取、解码、执行] 和大多数简单处理器中的基本功能单元。像数据存储器、指令寄存器、ALU、MAR、MDR、控制器(处理状态和控制信号)等。

我知道什么是管道内衬,但还没有弄清楚如何在功能级别上实现它。我已经四处搜索,但没有什么可以简化我需要它做的事情,或者没有找到任何示例。

0 投票
2 回答
4514 浏览

computer-architecture - 为什么加速会随着流水线级数的增加而降低?

我正在链接上观看有关流水线的视频教程。

在 4:30 时,讲师说随着阶段数的增加,我们还需要添加流水线寄存器,这会产生开销,并且由于这种加速不能随着阶段数的增加而超过最佳值。

有人可以详细说明一下吗?我的疑问是流水线寄存器可能会给各个阶段的周期时间增加一些延迟,那么当阶段的数量与少数相比时,为什么它会成为一个问题呢?

谢谢。

0 投票
1 回答
712 浏览

php - 在 PHP 中跨多个页面加载的持久 cURL 连接

在页面加载时,我一直在从同一个 API 请求数据。有没有办法让 cURL 连接在多个页面加载时保持活动状态以减少握手时间?我知道您可以轻松地在同一个 PHP 进程上使用 keep-alive 标头发出多个 cURL 请求,但我希望连接在一段时间内保持活动状态,而不是在进程完成时保持活动状态。

看来我需要某种守护程序插件来做到这一点。我对替代解决方案非常开放。它不必是 cURL。我一直在寻找,但没有任何运气。

谢谢!

0 投票
6 回答
530 浏览

f# - F# 管道占位符?

我googlet了一下,我还没有找到我要找的东西。正如预期的那样。我的问题是,是否可以定义 F# 管道占位符?我想要的是以下内容中的 _ :

这将评估为 22 (2*5 + 3*2 + 6)。

为了比较,请查看magrittrR 包:https ://github.com/smbache/magrittr

0 投票
1 回答
400 浏览

verilog - 多项式中的流水线

请建议我一些方法,我可以在其中实现流水线以实现 6 阶多项式。

我的想法:
同时执行三个加法,即:

sa10还将,的值存储sa32在触发器 1 中。

接下来添加sa10 + sa32 = sa3210将其存储在触发器2中,也存储sa54在触发器2中

接下来添加sa3210 + sa54以获取结果。

对上述逻辑有什么想法吗?

0 投票
1 回答
112 浏览

c - 有没有更有效的方法来做到这一点?

首先,是的,这是我班上的一个实验室活动,但我已经提交并为这个练习辩护了。我想知道是否有另一种方式,一种更有效的方式来编写这段代码。

我们的任务是编写一段代码来创建一个进程,该进程创建一个子进程,然后再创建另一个子进程,最后再创建一个子进程。

*编辑:我将要求分开并编号以提高可读性:)

  1. 最后一个孩子将显示系统中运行的当前进程。

  2. 然后它的父母会询问一个词,然后使用用户的输入创建一个文件。

  3. 然后它的父级会询问一个单词或一个短语,然后在你机器的库中找到它(假设我输入了 hi,它应该找到并列出包含 hi 及其目录的文件。单词 hi 的位置应该无关紧要)

  4. 最后,主父级将只打印其父级 ID。

这是我的完整代码:

0 投票
1 回答
4593 浏览

debian - ansible pipelining mode with shell script that requires tty

I am using ansible to install node.js and npm on Debian wheezy VMs following the steps in the Backports section of this .

The following playbook task used to work nicely with conventional ansible ssh mode.

Until I tried to enable pipelining of ansible 1.5. now it fails with:

The downloaded shellscript install.sh references /dev/tty in line 246 and therefore fails when executed with ansible in pipelining mode.

Can I disable pipelining just for this one task?
Is there another option?"