Vad är en samprocessor?

I hjärtat av varje dator hittar du CPU. De Centrala behandlingsenheten är kritisk hårdvara. Den kör operativsystemet och alla program på din dator. CPU: er är designade som processorer för allmänna ändamål. Till sin natur ska de kunna hantera allt.

CPU: er är dock inte särskilt bra på vissa typer av arbetsbelastningar eftersom deras generella hårdvara inte kan optimeras för specifika uppgifter utan att förlora sin generella karaktär. Eller bli hopplöst stor, komplex och dyr. Dessutom kommer vilken CPU som helst bara att kunna hantera så mycket data och bearbetning på en gång. En samprocessor är en andra bearbetningsenhet som uttryckligen är utformad för att ta ett eller båda av dessa scenarier.

En samprocessor är helt enkelt en andra bearbetningsenhet i en dator. I vissa scenarier kan dessa vara en dubbel fysisk CPU på samma moderkort som på vissa servrar. I scenarier för högpresterande datorer och superdatorer kan dessa samprocessorer för allmänna ändamål också hittas på PCIe-tilläggskort. Medprocessorn är ofta fokuserad på en specifik uppgift snarare än en generell processor. Dessa uppgiftsspecifika processorer kan anslutas direkt till moderkortet eller inkluderas på ett separat dotterkort som ett PCIe-tilläggskort.

De första samprocessorerna

De första samprocessorerna var relativt enkla. De designades för att hantera I/O eller Input och Output för stordatorer. Problemet var att I/O-behandling var en mycket tidskrävande uppgift för CPU: n. Själva bearbetningsuppgiften var dock relativt enkel. Så det var billigt nog att göra en processor för att hantera det. Medan samprocessorn tog I/O effektivt, var CPU: n tvungen att utfärda enkla I/O-parametrar, frigjorde processortid och ökade systemprestanda.

Den ursprungliga IBM PC: n inkluderade en valfri aritmetisk samprocessor med flyttal. Dagens processorer utförde den här typen av matematik i mjukvara som var långsam men tillräckligt funktionell för de sällsynta fall den behövdes för de flesta användare. Dock använde datorstödd design, eller CAD-system, denna typ av matematik konstant. Genom att separera flyttalsaritmetiken på en samprocessor ökades inte bara hastigheterna när det behövdes, tack till hårdvaruacceleration, men användare som inte behövde det kunde spara pengar genom att köpa ett system utan samprocessor.

I slutändan hade dessa enkla samprocessorer sina funktioner integrerade i CPU-arkitekturen. Detta är delvis ett naturligt resultat av kontinuerlig CPU-utveckling men är också relaterat till svårigheter att fortsätta den enkla synkroniseringen när CPU-klockhastigheterna ökar. Även om dessa processorer och samprocessorer körde tillräckligt bra vid 75MHz, skulle det finnas en massiv tidsfördröjning, strömförbrukning och radiofrekvensstörningar vid dagens GHz-frekvenser. Dessa problem krävde mer komplexa signalsystem mellan processorer och moderna samprocessorer.

GPU

GPU eller Graphics Processing Unit är förmodligen den mest kända formen av samprocessorn. De är designade för att vara optimerade för den mycket parallelliserbara arbetsbelastningen av grafikrendering. CPU: er kan utföra denna uppgift i programvara eller med ett integrerat grafikchip. För att erbjuda den höga prestanda som moderna GPU: er skulle de dock behöva integrera hela GPU-matrisen i CPU-matrisen.

Detta skulle avsevärt öka kostnaden och komplexiteten för en CPU och avsevärt öka värmeproduktionen också. Integrerade grafikkretsar tar redan upp en hel del utrymme på CPU-matrisen. De kan minska CPU: ns totala hastighet på grund av deras värmeeffekt.

Ljudkort

Historiskt sett kunde processorer bearbeta ljudsignaler men var inte fantastiska på det. De resulterande ljudartefakterna och statiken ledde till skapandet av ljudkort. Dessa skulle tillhandahålla ljudingångs- och utgångsportar och utföra själva ljudbearbetningen på själva ljudkortet. Detta ökade avsevärt signalisoleringen och kvaliteten på ljudet. Medan vissa ljudkort fortfarande finns kvar, är de helt onödiga i moderna datorer som integrerad ljudbehandling direkt på moderkort. CPU: er är mycket bättre än under ljudkortens storhetstid.

NPU

En relativt ny typ av samprocessor är NPU eller Neural Processing Unit. Dessa är designade för att utföra eller påskynda AI-arbetsbelastningar. NPU: er på en hög nivå är ganska lika GPU: er, bara med optimeringar som är specifika för AI-arbetsbelastningar. När AI-arbetsbelastningsprestanda blir mer av en sak som vanliga användare använder på smartphones och datorer, kommer dessa sannolikt att bli vanligare.

Integrerade samprocessorer

Moderna CPU: er integrerar många former av samprocessor direkt i den övergripande CPU-matrisen eller -arkitekturen. Detta kan enkelt ses med integrerade grafikkretsar etsade i samma kisel som resten av processorn. Den faktiska bearbetningen utförs dock inte av CPU-kärnorna. I AMD: s Ryzen-processorer finns det också en separat I/O-matris som hanterar kommunikationen mellan chiplets och resten av datorn. Vissa moderna mobila enheter kommer också med NPU: er för AI-bearbetning.

Slutsats

En samprocessor är en sekundär, tertiär, kvartär, etc. processor i en datorenhet där CPU: n är den primära processorn. Det finns ingen gräns för antalet samprocessorer i ett system. Men stöd för mjukvara/hårdvara, värmeavledning, fysiskt utrymme och kostnad kommer alla att spela en roll.

En samprocessor hanterar uppgifter för CPU: n som ökar den totala prestandan i både den specifika uppgiften genom att utföra den på en optimerad sätt, och i andra uppgifter, genom att förneka behovet för CPU: n att slösa bort sin processorkraft på att utföra uppgiften på ett ooptimerat sätt mode. Med tiden integreras många samprocessorer i processorer när tekniken går framåt. Emellertid begränsar effekt och termiska gränser detta i vissa scenarier.