问题标签 [machine-instruction]

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 投票
1 回答
92 浏览

cpu-architecture - 运行时指令检测

我想识别和分析在整个代码运行过程中执行的不同机器指令和每个指令所需的时钟周期。

有没有办法简单地做到这一点?动态二进制翻译可能是一种方式,但我正在寻找更简单的机制。

提前致谢

0 投票
2 回答
556 浏览

cuda - CUDA 加法与移位指令性能

我正在尝试了解我正在研究的大型 CUDA 内核的指令吞吐量。我写了两个小程序来比较加法和移位指令的吞吐量。根据CUDA C Programming Guide,移位指令的吞吐量是加法指令的一半。但是,当我在 Tesla M2070 上测量跟随两个程序的时间时,时间是完全相同的。有人可以解释为什么会这样吗?

加法程序:

换班程序:

编辑:添加 ptx 代码添加和移位程序。如您所见,唯一的区别在于第 78 行,即添加指令与 shl 指令。

添加 PTX 代码:

换档 PTX 代码:

0 投票
2 回答
15956 浏览

mips - 动态与静态指令数

动态和静态指令计数有什么区别?

一种。导出一个表达式来计算作为以下参数的函数的用户 CPU 时间:动态指令计数 (N)、每条指令的时钟周期 (CPI) 和时钟频率 (f)

湾。解释在问题 3a 中选择“动态”指令计数作为参数而不是“静态”指令计数的原因

0 投票
3 回答
349 浏览

assembly - Do 16 bit register pairs make a machine 16 bit?

I have been working on a fictional retro virtual machine for xbox since January (I am not at all copying 0x10c, infact my project is older. just putting this out there incase some notch fanboys read this) and it has 6 general purpose registers. These are 8 bit but all can be combined to make 3 16 bit registers, memory addresses though are 16 bit and so is the program counter. I know this is a stupid question, but I couldn't figure this out, is it 16 or 8 bit???? The z80 uses 16 bit addresses and is 8 bit

0 投票
1 回答
133 浏览

assembly - I/O 指令周期是否取决于设备的速度?

例如,

如果端口 8 的设备非常慢,那么 CPU 是否必须等待指令完成?

谢谢!</p>

0 投票
1 回答
1614 浏览

io - “从 I/O 端口读取一个字节”与“从内存地址读取一个字节”?

为了简化讨论,我假设只有一个执行线程。以下只是我的胡思乱想:

1、如果CPU从内存地址读取一个字节,那么它可以从同一个地址重复读取同一个值。

2、如果CPU从一个端口重复读取一个字节,那么每次读取的值可能不同。

我认为这两种方式的区别在于端口控制器可以在每次读取操作后自动更新端口上的值。

但是,我找不到任何明确支持我的陈述的教科书。

我对么?

0 投票
2 回答
1881 浏览

c++ - How to count actual number of operations in running C++ program?

I am working with a big C++ project on VMware (Ubuntu). It has several processes and a lot of cpp files.

What I want to find out is this: While running my code, how many operations (Additions, multiplications, read, write, shift, etc...) are being performed in each of the cpp files.

I have searched a lot for this and I know that I should be looking for a profiler that gives me the number of instructions in the running code, but I didn't find any profiler yet.

I am a beginner in programming, so I will appreciate any help.

0 投票
0 回答
296 浏览

assembly - 使用操作码和功能位解码指令

我正在尝试设计一个流水线 CPU 模拟器。作为其中的一部分,我需要设计一个控制单元。

我期望控制单元做的是 - 设置以下标志的值:

我需要将这些值设置为指令的操作码和功能位的函数。我怎样才能做到这一点?

0 投票
4 回答
22389 浏览

execution-time - 处理器指令周期执行时间

  • 我的猜测是,__no_operation()内在(ARM)指令应该花费 1/(168 MHz)来执行,前提是每个NOP指令都在一个时钟周期内执行,我想通过文档进行验证。

  • 是否有关于处理器指令周期执行时间的信息的标准位置?我正在尝试确定 STM32f407IGh6 处理器执行运行在 168 MHz 的 NOP 指令需要多长时间。

  • 有些处理器需要每个指令周期多次振荡,有些处理器在比较时钟周期和指令周期时是一对一的。

  • 术语“指令周期”甚至没有出现在 STMicro 提供的整个数据表中,也没有出现在他们的编程手册中(列出处理器的指令集,顺便说一句)。然而,8051 文档清楚地定义了它的指令周期执行时间,以及它的机器周期特性。

0 投票
4 回答
4859 浏览

java - 什么是循环反转技术?

我正在阅读一份关于Java 即时编译器(JIT) 优化技术的文档。其中之一是“循环反转”。文件说:

while您用循环替换常规do-while循环。并且 do-while循环设置在一个if子句中。这种替换导致少了两次跳跃。

循环反转如何工作以及它如何优化我们的代码路径?

注意: 如果有人可以用 Java 代码示例解释 JIT 如何将其优化为本机代码以及为什么它在现代处理器中是最佳的,那就太好了。