我的问题是计算执行 MOV A, 5 指令需要多少 CPU 周期。分别描述。
谁能解释一下这是如何工作的。而5是一个值是吗?给我解释一下要点。
我所知道的,
首先, -
从内存中获取指令(一个时钟周期) - 更新
指令指针(一个时钟周期)
- 解码指令以查看它的作用(一个时钟周期)
我被困在这之后。
我的问题是计算执行 MOV A, 5 指令需要多少 CPU 周期。分别描述。
谁能解释一下这是如何工作的。而5是一个值是吗?给我解释一下要点。
我所知道的,
首先, -
从内存中获取指令(一个时钟周期) - 更新
指令指针(一个时钟周期)
- 解码指令以查看它的作用(一个时钟周期)
我被困在这之后。
我假设您在谈论 x86 处理器。这当然取决于处理器,但我记得通常需要 1 个时钟周期。
这是因为指令是在流水线中执行的。这意味着当处理器在计算一条指令的结果时,它正在解码下一条并获取之前的一条,因此处理器的每个部分都在忙着做某事。
通常,需要从内存中获取数据或进行乘法或除法等复杂计算的指令需要更长的时间来执行。
您还可以使用 RDTSC https://www.ccsl.carleton.ca/~jamuir/rdtscpm1.pdf获取周期数