Intel Data Streaming Accelerator: hvad det er, og hvordan det virker på CPU

Fremtiden for relationerne mellem CPU og hukommelsen sker i den universelle adressering, hvilket kræver nye typer enheder til dem i processoren, såsom Data Streaming Accelerator. Men hvad er det, og hvordan forbedrer det processorydelsen?

Intel Data Streaming Accelerator

I nyere tid har et af de fremskridt, hvor der bliver mest undersøgt, at gøre med bevægelsen af ​​data inden for en arkitektur. Noget der ved første øjekast kan virke fuldstændig løst i lang tid, men i de senere år er blevet et afgørende punkt for at øge CPU'ernes ydeevne.

Der er to grunde til, at bevægelse af data er blevet arkitekters besættelse, når de designer ny hardware. Den første har at gøre med energiforbrug og den anden med latens, som er den tid, det tager at udføre en hukommelsesoperation, og det er på dette andet punkt, vi skal gøre forholdet mellem latens og bredde meget klart. band.

Båndbredde er lig med latency?

Movimientos Datos

Nej, de er ikke de samme, latency er den tid i clock-cyklusser, det tager at løse en anmodning til hukommelsen, og dette har en række trin, der altid skal udføres. Problemet er, at selvom hukommelsesgrænsefladen kan være meget hurtig, er hukommelsescontrolleren muligvis ikke det, og det ender med at ske, at dette eller MMU af CPU'en bliver mættet, og alle hukommelsesanmodninger forsinkes.

Nå, uanset hvor hurtig grænsefladen er, hvis hukommelsesanmodningen er blokeret, så blokeres resten af ​​køen og ingen data overføres. Og dette kan ske, hvis vi ender med at mætte et stort antal anmodninger til RAM. Det værste er, at dette endda kan lade CPU'en vente længe på at få dataene til den næste instruktion, der skal udføres.

Båndbredden er i stedet blot overførselshastigheden. For eksempel kan du have 100 anmodninger på 1 GB / eller 1 anmodning på 100 GB / s, men det skal tages i betragtning, at processorens hukommelsescontroller, der er ansvarlig for at administrere adgange til den, vil have større vanskeligheder med det første tilfælde. end med den anden.

Databevægelsesenheder

Portada-CPU-Genérica-Placa-Base

Tag en hvilken som helst ISA, det er ligegyldigt hvad det er, og tag et kig på det, i det vil du se instruktioner, der ikke udfører en aritmetisk-logisk operation, og som heller ikke er ansvarlige for at udføre et hop eller et skib, men er i ansvar for at udføre databevægelser, der involverer bevægelse til hukommelsen.

Mange af disse instruktioner er gammeldags og har en specifik clock cyklus latency. Hvad hvis vi tilføjede en supportprocessor til at fungere som en messenger og kunne løse disse anmodninger til RAM eller enhver hukommelse inden for den samme adresse med lavere latenstid? Nå, processorens ydeevne ville øges og give den mulighed for at fokusere de urcyklusser, der normalt venter på at løse nye instruktioner.

Nå, den Intel Data Streaming Accelerator er baseret på dette princip, og det er en af ​​nøglerne til at forbedre ydeevnen af ​​de forskellige processorer.

Intel Data Streaming Accelerator

Diagram Data Streaming Accelerator

Som navnet indikerer, er det en accelerator, det vil sige en enhed, der udfører en bestemt opgave, som i dette tilfælde er udsendelse af data på kortere tid, end CPU'en ville. Det særlige ved DSA er, at det er designet til en af ​​de egenskaber, som Compute Express Link bringer med sig over PCI Express 5.0, som er at give sammenhængende adgang til RAM-hukommelsen til alle perifere enheder, der er tilsluttet PCI Express-porten, dvs. de deler de samme hukommelsesadresser.

Derfor bruges det til at udføre følgende operationer:

  • Du kan flytte data fra CPU til RAM og omvendt.
  • For at få adgang til ikke-sammenhængende hukommelsespladser, med en anden hukommelsesadressering, kan du udføre adressekonverteringen automatisk, så teknisk set står vi over for en opdateret DMA-enhed.
  • Den har også adgang til vedvarende eller ikke-flygtige hukommelser, så den kan også få adgang til NVMe SSD'er, Intel Optane-moduler, NVDIMM'er osv ...
  • Gennem NTB og i et servermiljø giver det dig adgang til anden RAM eller ikke-flygtig hukommelse fra et andet kort i datacentret eller serveren.
  • Den har indbyggede funktioner til at anvende ovenstående punkter på virtuelle maskiner.

Som mange af jer måske har udledt, er det en type enhed, der er designet specielt til serverprocessorer, selvom det ikke er en fast funktionsenhed, der fungerer automatisk.

Intel DSA-instruktioner

Data Streaming Accelerator er ikke en fast funktionsenhed, da den ikke altid anvender det samme program på de data, der indtastes, men understøtter snarere en række instruktioner, så det er, hvad vi kalder en domæneprocessorspecifik. Blandt de operationer du kan udføre er:

  • Bevæge sig: de klassiske x86-dataflytningsinstruktioner, ved dem, der har skrevet assembler. Hvis processoren har en eller flere Intel Data Streaming Acceleratorer, vil den blive udført af disse og ikke af CPU-kernerne.
  • DIF: det er ansvarlig for at udføre processen med at verificere integriteten af ​​informationen i hukommelsen.
  • CRC Generation: Genererer CRC Checksum på de overførte data.
  • Fylde: Det er ansvarligt for at fylde en del af hukommelsen med bestemte data gentagne gange, det er ideelt at slette indholdet af en del af hukommelsen, da det giver os mulighed for at sætte alle bits til 0.
  • Sammenlign: Det bruges til at sammenligne to hukommelsesblokke og kontrollere, om de er identiske.
  • Delta Record Opret: Udfør en kontrol og generer en ny datastrøm med forskellen mellem de to.

Data Streaming Accelerator kan også styre flere lagerenheder på samme tid:

  • Aktivere deaktivere : giver dig mulighed for at tilslutte eller frakoble en hukommelsesenhed, enten RAM eller ikke-flygtigt lager.
  • Abort: afbryde alle hukommelsesanmodninger til RAM eller anden hukommelsesenhed.
  • Dræne: anmoder om, at alle anmodninger sendes til en hukommelsesenhed på samme tid.

Listen over instruktioner er meget større, men det er sådan, at du har en nogenlunde idé om, hvordan denne nye enhed fungerer, som Intel har integreret i sine processorer. Fordelene er klare og forventes at blive yderligere forbedret hos Sapphire Rapids.