The first part is true and an unsourced quote from wikipedia. The bolded part isn't true. ILP is a function of the code, it doesn't depend at all on the hardware it is being run on.
IPC and ILP are related but not the same thing. ILP is a measure of how much total parallelism possible, at the instruction level, there is in any given code. Instructions are either dependent on each other or they aren't. IPC is a measure of how effective any particular CPU is at recognizing and utilizing that ILP, or speculatively bypassing dependencies, to keep available processing units occupied and how long it takes those units to complete the given instructions.
Maybe an analogy would help: think of Thread Level Parallelism. A program with 2 threads, for example, has a TLP of 2. It has that TLP regardless of if it is running on a single core or dual core CPU. Obviously a dual core would be able to utilize that inherent parallelism better. Even though the TLP of the program doesn't change depending on the CPU, the throughput (a rough proxy for IPC at the TLP level) will be higher on the CPU that can recognize and utilize that parallelism.
The way I see it is AMD perceives the code its target market runs most depends more on MLP and TLP than it does on further increases in IPC. Instead of fighting with Intel over diminishing returns in IPC, at a high cost of power and transistors, they are targeting the relatively unexploited parallelism in high-threaded data driven applications. This says to me that they are aiming, first and foremost, directly at retaking the server and scientific market.
Bookmarks