1
$\begingroup$

From Wiki - Superscalar processor:

(Line 1): superscalar processor is a CPU that implements a form of parallelism called instruction-level parallelism within a single processor. In contrast to a scalar processor that can execute at most one single instruction per clock cycle, a superscalar processor can execute more than one instruction during a clock cycle *by simultaneously dispatching multiple instructions* to different execution units on the processor.

(Line 8): In Flynn's taxonomy, a single-core superscalar processor is classified as an *SISD* processor (Single Instruction stream, Single Data stream)

I understand ILP, which means two instructions executed at the same time. My problem is that: If one doesn't fetch two instructions simultaneously, how can it dispatch multiple instructions to different execution units...? Or I misunderstand the meaning of instruction stream, which it's single stream but one can fetch two instructions at the same time, why sounds so counter-intuitive?


From Wiki - SISD:

(Line1): In computing, SISD (single instruction stream, single data stream) is a computer architecture in which a single uni-core processor, executes *a single instruction stream*, to operate on data stored in a single memory.

$\endgroup$
1
$\begingroup$

There is a single instruction stream. Modern processors just manage to pick up multiple instructions from the instruction stream simultaneously.

For something like a POWER processor, where each instruction is always four bytes in size, that is quite easy. Instructions are loaded into cache lines, and if a cache line holds 8 or 16 instructions, it is quite easy to read four instructions at the same time.

For an x86 processor, it is more difficult because instructions have different sizes. Still, it is possible (with a lot of effort) to read several consecutive simple instructions simultaneously.

$\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.