gpt4 book ai didi

linux - nop 是忙等待吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:40 26 4
gpt4 key购买 nike

我想在 linux 内核模块中实现非忙等待机制以创建纳秒级延迟。

现在我正在看函数

ndelay(ns);

但是https://www.kernel.org/doc/Documentation/timers/timers-howto.txt

这里提到ndelay函数是一种忙等待机制。

但我想要非忙等待延迟。所以,我正在考虑这样的 linux 内核模块中的 nop:

asm volatile ("nop");

我研究过nop需要一个周期来执行。因此,我将实现嵌套 nop 以获得所需的延迟。我的问题是 -

通过使用 nop,我将以非繁忙等待方式实现以纳秒为单位的延迟吗?谁能证实这一点?对一些期刊和资源的一些引用也会有所帮助。

最佳答案

顾名思义,“NOP”是一种不修改机器状态的操作,但这并不意味着处理器在执行 NOP 时空闲或“不忙”。与任何其他指令一样,NOP 在执行时仍会占用处理器的一些资源。

显然,现代 super 流水线处理器很复杂,通常会同时执行许多操作,因此与分支、字符串比较或浮点操作等更复杂的操作相比,NOP 可能会使用更少的资源,但这样做并不安全假设 NOP 像您说的那样不忙。

关于linux - nop 是忙等待吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36362642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com