HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

Why is superscalar processor SISD?

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
processorwhysisdsuperscalar

Problem

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.

Solution

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.

Context

StackExchange Computer Science Q#101136, answer score: 3

Revisions (0)

No revisions yet.