Parallell databehandling fungerer ved å dele opp store problemer i mindre problemer som så løses samtidig. SIMD og MIMD er to forskjellige parallelle databehandlingsarkitekturer som bruker flere prosessorer og noen ganger flere datamaskiner for å behandle data. SIMD står for Single Instruction stream Multiple Data stream, mens MIMD står for Multiple Instruction stream Multiple Data stream. SIMD- og MIMD-arkitekturer utfører lignende grunnleggende funksjoner, men de er forskjellige både praktisk og teknisk.
SIMD definert
SIMD-arkitekturen utfører en enkelt, identisk handling samtidig på flere datastykker, inkludert henting, beregning eller lagring av informasjon. Et eksempel er å hente flere filer samtidig. Prosessorer med lokalt minne som inneholder forskjellige data, utfører den samme instruksjonen på en synkronisert måte, med kommunikasjon mellom prosessorer for skifttildeling.
Dagens video
MIMD definert
MIMD-arkitekturen utfører flere handlinger samtidig på en rekke databiter. Et eksempel er å utføre ulike matematiske beregninger - som addisjon og multiplikasjon - samtidig for å løse et komplekst matematisk problem med mange separate komponenter. MIMD-databehandling kan være synkronisert eller ikke, og blir stadig mer vanlig enn SIMD-databehandling.
Praktiske forskjeller
SIMD brukes vanligvis for problemer som krever mange beregninger med prosessorer som utfører samme operasjon parallelt. MIMD brukes ofte for problemer som bryter ned algoritmer i separate og uavhengige deler, med hver del tilordnet en annen prosessor for samtidig løsning.
Tekniske forskjeller
SIMD og MIMD er også teknisk forskjellige. SIMD-prosessorer er vanligvis enklere, mindre, billigere og raskere enn MIMD-prosessorer, men MIMD er i stand til langt mer komplekse operasjoner. MIMD-operasjoner som SIMD også kan utføre har en tendens til å ta mer tid med SIMD. SIMD-prosessorer må utføre komplekse operasjoner sekvensielt, mens MIMD-prosessorer kan gjøre dette samtidig.