1
$\begingroup$

In multicore architecture, are Instructions Per Second (IPS) and Instructions Per Cycle (IPC) parameters of a single core or the whole CPU? Where to look out for this value? And does it change as the number of cores increases?

For example, in case of Intel's Sandy Bridge and Cascade Lake, what is IPC value? Which Intel specification mentions this? Does this value increases (linearly) as the number of core increases?

$\endgroup$
  • $\begingroup$ Somewhat tangential, but it is usually better to treat instructions per cycle as an observable, experimental measure of your program's performance than as an abstract property of the CPU. It mostly determines how CPU- vs memory-bound your program is, and isn't so useful as a direct performance metric. So it depends on what exactly your goal is in asking this question. $\endgroup$ – Kirill Aug 1 '19 at 12:34
3
$\begingroup$

IPS and IPC are generally specified "per core". That's because processor makers often vary how many cores of a particular kind they pack on the same processor, so it doesn't really make sense to specify these per-processor, whereas the core is always the same in those cases -- the type of core is generally described by the "generation" of the processor.

I will say that instructions-per-cycle is a difficult metric. It is not the case that a processor can execute any N instructions per cycle. Rather, cores implement certain blocks of functionality that can work in parallel. For example, one can think of a load, an integer addition, a floating point multiplication, and a shift operation to happen at the same time. But the core would not be able to perform four integer additions at the same time. Also, each of these operations might take more than one cycle -- floating point operations, for example, generally take more than one cycle. In other words, it is quite difficult to make inferences from knowing how many instructions can be executed per cycle to how long it will actually take to execute a program that has M instructions -- one needs to not only know which kinds of instructions they are, and in which order they appear in the program.

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.