Parallell vs. Seriell prosessor

CPU på hovedkortet

Nærbilde av en prosessorbrikke på et hovedkort på en datamaskin

Bildekreditt: Riccardo_Mojana/iStock/Getty Images

Parallell og seriell behandling beskriver om et datasystem kan bryte fra hverandre beregningsoppgaver som skal brukes flere prosessorer eller kjerner samtidig eller hvis den er avhengig av å fullføre oppgaver med en enkelt prosessor kjerne. Alle individuelle forbrukerdataprosessorer var serielle prosessorer før midten av 2005 da Intel introduserte den første forbruker dual-core prosessoren. Flere enkeltkjerneprosessorer kan jobbe sammen for å håndtere seriell prosessering gjennom nettverkstilkoblede parallelle datamaskinklynger eller kjører flere prosessorer på ett hovedkort.

Datamaskiner er multitasking-maskiner

En typisk moderne datamaskin kjører dusinvis til hundrevis av oppgaver til enhver tid; hver kjerne jobber imidlertid bare med én prosess samtidig. Prosessoren hopper konstant mellom de forskjellige behandlings-"trådene" eller "instruksjonsstrømmene" for å kjøre flere samtidige programmer under en sanntidsillusjon kalt samtidighet. Datamaskinen ender opp med å kaste bort prosessorsykluser mens den bytter mellom jobber og kjører ikke optimal effektivitet når den utfører flere oppgaver.

Dagens video

Utføre oppgaver parallelt

Et parallelt prosesseringsmiljø kan behandle oppgaver raskere når programmer er designet for å bruke parallell prosessering. Serielle programmer stiller opp alle instruksjoner i serier og grensesnitt med prosessoren ved hjelp av en enkelt tråd. Parallelle programmer fungerer ved å dele opp oppgaver i individuelle deler som kan deles mellom flere prosessorkjerner og settes sammen igjen som fullførte oppgaver. Parallelle prosessorer kan multiplisere prosessorkraften til lignende klokkede serielle prosessorer med riktig skrevet kode. Imidlertid kan en seriell prosessor med høyere klokkehastighet utkonkurrere parallelle prosessorer når du arbeider med en enkelt tråd.

Seriell behandling i aksjon

Programmer skrevet for seriell behandling bruker bare én kjerne om gangen og behandler oppgaver i sekvensiell rekkefølge. En seriell prosessor fungerer mye som å ha et dusin åpne kassebaner i en dagligvarebutikk med en kasserer som kjører mellom de forskjellige banene, og sjekker ut alle samtidig. Kassereren, eller CPU, hopper fra bane til bane og sjekker ut noen få varer om gangen før han går videre til neste med målet om å fullføre alle bestillingene samtidig.

Parallell behandling i aksjon

Tanken bak parallelle prosessorer er at flere kjerner som fungerer sammen vil føre til bedre ytelse. En parallell prosessor oppfører seg som å ha mer enn én kasserer som driver et dusin kassebaner. Hvis et program er satt opp for å dra fordel av parallell behandling, kan "kunden" dele opp bestillingen sin i mindre grupper og bruke flere kassebaner samtidig.

Parallelle prosessorer utvider mulighetene

I 2007 brukte Nvidia først parallell prosessering for å fremme grafikkteknologi. Grafikkbehandlingsenheter bruker parallell prosessering på et nivå som blåser bort seriell behandlingsytelse når man gjør små beregninger. Mens CPU-er har en tendens til å ha et lett tellbart antall kjerner, kan GPU-er ha tusenvis av kjerner med lavere kraft som er bedre egnet for å kjøre enklere simultane beregninger. GPUer brukes ofte til grafikk, men kan gjøre andre beregninger for ting som sortering og matrisealgebra.