MIMD
Multiple instructions, multiple data (MIMD) er en av fire former for datamaskinarkitekturer, i en klassifisering som ble foreslått av Michael J. Flynn i 1966.[1][2]
Single Instruction |
Multiple Instruction | |
---|---|---|
Single Data |
SISD | MISD |
Multiple Data |
SIMD | MIMD |
En MIMD mikroprosessor vil ha flere instruksjonsstrømmer som opererer på flere datastrømmer samtidig. Eksempler er moderne flerkjerners mikroprosessorer, hvor hver kjerne typisk utfører en eller to (i tilfeller med hyperthreading) instruksjonsstrømmer samtidig, og hvor instruksjoner har muligheten for å operere på flere datastrømmer samtidig (SIMD).
Ved introduksjonen av intels P5 mikroarkitektur ble mikroprosessorene også superskalare, dvs. de kunne utføre mer en en instruksjon per klokke-syklus. Dette ble oppnådd ved at man brøt opp komplekse CISC instruksjoner til mikrooperasjoner som minner om RISC instruksjoner for så å utføre dem ut av rekkefølge i en dobbel pipeline.
Tar man også med at hver komplekse instruksjon kunne operere på flere data når man benytter SIMD instruksjonssett-utvidelsen, så har man i praksis en MIMD prosessor, allerede så tidlig som de første enkelt-kjerners Intel Pentium MMX prosessorene.