I 1966, m.J. Flynn klassifiserte formene for parallell datamaskinarkitektur i fire grupper som er basert på antall instruksjoner og dataelementer og samtidigheten i behandlingssekvenser (eller strømmer), data og instruksjoner. Kjernen i systemer som implementerer parallell databehandling er: kontrollenheten; behandlingselementet eller prosessoren; og minnet. Avhengig av typen arkitektur, kan et system bruke en enkelt eller flere prosessorer og et delt eller distribuert minne.
I parallell databehandling er en jobb delt opp i deler, og delene er delt opp i en serie instruksjoner. Instruksjonene fra hver del utføres på forskjellige CPU -er samtidig og delene utføres samtidig.[1]
Hvordan MISD fungerer
I MISD er det flere prosesseringselementer som har sin egen kontrollenhet og lokalt minne som gjør det mulig for hver prosessor å håndtere instruksjoner uavhengig. For å fremskynde problemløsningsprosessen, er problemet delt inn i underproblemer, og hvert underproblem har sitt eget sett med programmer eller instruksjonsstrømmer. Ulike instruksjonsstrømmer blir matet til kontrollenheten til hver prosessor, og på sin side sender kontrollenhetene instruksjonsstrømmene til prosessorene. Hver prosessor opererer derfor på dataene uavhengig og behandler instruksjonsstrømmene asynkront. I de fleste tilfeller blir utgangen fra en prosessor en inngang av den neste prosessoren som betyr at prosessorene utfører forskjellige programmer eller løser forskjellige underproblemer med hovedproblemet.
Bildekilde: Java T Point
Hvordan MISD skiller seg fra andre klasser
Hvert datasystem som faller inn under Flyns klassifisering håndterer instruksjonene og datastrømmene annerledes. Her er en oversikt over de tre andre datasystemklassene i Flyns taksonomi. Basert på beskrivelsene deres, vil du se hvordan hver skiller seg fra forseelse.
SISD (enkelt instruksjon, enkeltdata)
Som navnet tilsier, er det bare en instruksjon og en datastrøm for SSID -datasystem. Dette er en uniprocessor -datamaskin som også er kjent som en sekvensiell datamaskin fordi instruksjonene blir behandlet på en sekvensiell måte. Primærminnet lagrer dataene og instruksjonene mens kontrollenheten avkoder instruksjonene og deretter sender instruksjonene til prosessoren. Denne typen arkitektur finnes for det meste i konvensjonelle datamaskiner, minicomputers og arbeidsstasjoner.
Bildekilde: Java T Point
SIMD (enkelt instruksjon, flere data)
I motsetning til SISD, har dette datasystemet flere prosessorer. Prosessorene utfører en enkelt instruksjon på forskjellige datastrømmer. Det er ett minne og en kontrollenhet som henter dataene fra minnet og sender de samme instruksjonene til alle behandlingselementene. Selv om prosessorene mottar de samme instruksjonene fra kontrollenheten, fungerer de på forskjellige dataelementer. Denne typen arkitektur implementeres vanligvis på datamaskiner eller applikasjoner som brukes i vitenskapelig databehandling som Cray's Vector Processing Machine, der flere vektorer og matriser er involvert.
Bildekilde: Java T Point
MIMD (flere instruksjoner, flere data)
I denne parallelle databehandlingsmodellen har flere prosessorer som har sin egen kontrollenhet, men som nødvendigvis ikke har sin egen minnemodul. Hver prosessor utfører et eget sett med instruksjoner og datastrømmer som gjør MIMD -maskiner i stand til å håndtere enhver type applikasjon. Det er to kategorier i MIMD basert på typen minne som brukes-MIMD med delt minne og distribuert minne MIMD.
MIMD med delt minne - Prosessorene er koblet til et enkelt minne. Kommunikasjon mellom prosessorer er gjennom det globale minnet, derfor har alle prosessorer tilgang til det. Alle transaksjoner og modifikasjoner av data som er lagret i det globale minnet er synlige for alle prosessorer.
Distribuert -memory MIMD - Hver prosessor har sitt eget minne som lagrer dataene. Dataene som er lagret på prosessorens lokale minne er ikke synlige for alle prosessorer. Siden minnet ikke er delt, går kommunikasjonen mellom prosessorer gjennom IPC -kanalen mellom prosessen (IPC).
Bildekilde: Java T Point
Hvor brukes forse?
Mens de andre klassene brukes i generiske datasystemer, er MISD mer teoretisk og ikke praktisk brukt i mange applikasjoner. Det ble implementert i systoliske matriser, som er et ideelt system for applikasjoner som kunstig intelligens, bildebehandling, mønstergjenkjenning og andre oppgaver som etterligner dyrehjernenes behandling. I systoliske matriser leser prosessoren dataene fra en annen prosessor, utfører en operasjon og sender ut en utgang som vil bli brukt av en annen prosessor. Den generelle strukturen til systoliske matriser gjenspeiler den for forseende arkitektur. Imidlertid er det et argument for hvorvidt forse. Fortsatt vil andre hevde at en inngangsvektor regnes som et enkelt datasett som kvalifiserer systoliske matriser som MISD -maskiner. Uansett, er systoliske matriser som det klassiske eksemplet på forseende arkitektur.
MISD er også kjent som arkitekturen bak Space Shuttle Flight Control Systems på grunn av sin bedre skalering og effektiv bruk av beregningsressurser.
Generelt brukes sjelden arkitektur, og bare noen få maskiner er bygget ved hjelp av denne arkitekturen. De fleste av disse systemene er ikke tilgjengelige kommersielt.
Konklusjon
MISD er en av de fire parallelle databehandlingsarkitekturene klassifisert av M.J. Flynn hvor flere prosesseringselementer behandler forskjellige sett med instruksjonsstrømmer fra en enkelt datastrøm. Hver prosessor har sin egen kontrollenhet og minne, og behandlingselementene behandler instruksjonsstrømmer uavhengig. Blant de fire klassene er MISD den minst brukte typen arkitektur med bare to fremtredende eksempler på applikasjoner der den brukes - systoliske matriser og romferge flykontrollsystemer. Selv til i dag bruker ikke mange applikasjoner forseelse, men det er spesielt nyttig for høyt spesialiserte applikasjoner.
Kilder:
[1] Geeks for nørder. Datamaskinarkitektur | Flynns taksonomi. 6. januar 2020. https: // www.Geeksforgeeks.org/datamaskin-arkitektur-FLYNNS-Taxonomy/. Åpnet 22. mars 2022