问题标签 [cpu-cycles]

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 回答
183 浏览

c - Arm 装配中的意外时机

我需要一个非常精确的时序,所以我写了一些汇编代码(用于 ARM M0+)。然而,在示波器上测量时,时间不是我所期望的。

这么基本的东西。但是,延迟(通过将 GPIO 引脚设置为低电平、循环,然后再次设置为高电平来测量)时序始终比预期高 50%。我尝试了低值(1 us 给 1.56 us),最高 500 ms 给 750 ms。

我尝试单步执行,而循环实际上只执行 3 个步骤:subs (1)、cmp (1)、branch (2)。括号是预期的时钟周期数。

任何人都可以阐明这里发生了什么吗?

0 投票
1 回答
55 浏览

x86 - 为什么现代cpu可以在一个时钟周期内执行一些指令?

许多相关问题说,例如,某些指令可以在一个时钟周期内执行

但是,据我所知(来自《计算机系统:程序员的视角》一书),管道中有许多步骤,例如获取、解码、执行、存储等。每个步骤至少需要一个周期。如果是这样,为什么任何指令都可以在一个时钟周期内执行?

0 投票
0 回答
27 浏览

java - 如何获取自定义 Java 程序消耗的 CPU 周期和内存

我是计算自定义 java 应用程序的 cpu 周期和内存消耗的新手。有没有我可以在 Windows 10 中使用的工具来了解应用程序在处理特定命令时占用了多少 CPU 周期。

例如,我想测量 winzip、winrar、7zip 和自定义 java 应用程序消耗的 cpu 周期和内存。我想在这个过程中使用任务管理器。我可以消耗内存,但我不确定如何找到 cpu 周期。任何人都可以指导我。

0 投票
1 回答
17 浏览

variables - 如何用变量表示 CPU 调度中的突发时间

说明:实现突发时间是随机分配的(10x10^6 周期 - 50x10^12 周期)。我如何将其转换为 ms 突发时间的测量值。

0 投票
1 回答
90 浏览

linux - 了解 Linux Perf Stat 打印的频率

perf stat <command>打印与<command>. 大多数统计数据都很容易理解。但是与统计数据相关的频率是什么意思cycle(如下所示)?

5,205,202,243 cycles # 3.046 GHz

0 投票
0 回答
17 浏览

instruction-set - 计算 MIPS 的正确方法是什么?

我发现以下关于 MIPS 的问题,

计算机系统有一个字长为 64 位、时钟频率为 1.5GHz 的 CPU。对于某个任务,处理器的测量平均 CPI(每条指令周期)为 0.6。处理器的 MIPS 速率是多少?

给出的答案是,

指令/秒 = 周期/秒 x 指令/周期
= 1.5x10 9 x 1/0.6
= 2.5x10 9 / 1 百万
= 2500 MIPS

当我搜索更多示例时,我发现在大多数地方,CPU 速度以 Mhz(而不是 Hz)为单位来计算 MIPS。请参阅以下问题和答案。

或者,将每秒的周期数 (CPU) 除以每条指令的周期数 (CPI),然后除以 100 万即可找到 MIPS。例如,如果一台 CPU 为 600 兆赫的计算机的 CPI 为 3:600/3 = 200;200/1 百万 = 0.0002 MIPS。

但是,如果我像解决第一个一样解决第二个问题,答案是,

= 600x10 6 x 1/3
= 200x10 6 / 1 百万
= 200 MIPS

计算 MIPS 的正确方法是什么?

0 投票
0 回答
7 浏览

cpu-usage - 测量另一个 PID 的时钟周期

我正在寻找测量程序使用的总时钟周期。我希望从另一个过程中衡量这一点。

  • clock_t可用于测量代码块,但不适用于我,因为我想测量另一个程序的总时钟周期

  • /proc/PID/stat可以告诉您进程使用的总用户时间内核时间,但我希望在进程完成时捕获此信息

关于如何可靠地捕捉到这一点的任何其他想法?

0 投票
0 回答
16 浏览

python - 在python中测量每个操作的CPU时钟周期

我想知道您如何测量每条指令的时钟周期量,例如将 int 从一个地方复制到另一个地方?

我知道您可以将其计时到纳秒,但是对于今天的 cpu,分辨率太低而无法正确读取仅需要几个时钟周期的操作?

有没有办法确认每个指令有多少个时钟周期,比如在 python 中添加和子化它需要多少个时钟周期?如果是这样怎么办?