Intel Data Streaming Accelerator: mikä se on ja miten se toimii suorittimessa

Tulevaisuus välisten suhteiden prosessori ja muisti tapahtuu yleisessä osoittamisessa, mikä vaatii niille uudentyyppisiä yksiköitä prosessorissa, kuten Data Streaming Accelerator. Mutta mikä se on ja miten se parantaa prosessorin suorituskykyä?

Intel Data Streaming Accelerator

Viime aikoina yksi edistyksistä, joita eniten tutkitaan, liittyy tiedon liikkumiseen arkkitehtuurin sisällä. Jotain, joka ensi silmäyksellä saattaa tuntua täysin ratkaistua pitkään aikaan, mutta viime vuosina siitä on tullut keskeinen kohta prosessorien suorituskyvyn lisäämisessä.

On kaksi syytä, miksi tiedon liikkumisesta on tullut arkkitehtien pakkomielle uutta laitteistoa suunniteltaessa. Ensimmäinen liittyy energiankulutukseen ja toinen latenssiin, joka on muistitoiminnon suorittamiseen kuluva aika, ja juuri tässä toisessa kohdassa meidän on tehtävä latenssin ja leveyden välinen suhde erittäin selväksi. bändi.

Onko kaistanleveys yhtä suuri kuin latenssi?

Movimientos Datos

Ei, ne eivät ole samoja, latenssi on aika kellojaksoissa, joka kuluu pyynnön ratkaisemiseen muistiin, ja tämä sisältää useita vaiheita, jotka on aina suoritettava. Ongelmana on, että vaikka muistirajapinta saattaa olla erittäin nopea, muistiohjain ei välttämättä ole niin, ja lopulta käy niin, että tämä tai MMU CPU kyllästyy ja kaikki muistipyynnöt viivästyvät.

No, riippumatta siitä, kuinka nopea käyttöliittymä on, jos muistipyyntö estetään, loput jonosta estetään eikä tietoja lähetetä. Ja tämä voi tapahtua, jos päädymme kyllästämään suuren määrän pyyntöjä RAM. Pahinta on, että tämä voi jopa jättää CPU:n odottamaan pitkään saadakseen dataa seuraavan käskyn suorittamista varten.

Kaistanleveys on sen sijaan yksinkertaisesti siirtonopeus. Sinulla voi olla esimerkiksi 100 pyyntöä nopeudella 1 Gt / 1 tai 100 pyyntö nopeudella XNUMX Gt / s, mutta on otettava huomioon, että sen käyttöoikeuksien hallinnasta vastaavalla prosessorin muistiohjaimella on suurempia vaikeuksia ensimmäisessä tapauksessa. kuin toisella.

Tiedonsiirtoyksiköt

Portada-CPU-Generica-Placa-Base

Ota mikä tahansa ISA, sillä ei ole väliä mikä se on ja katso sitä, siinä näet ohjeita, jotka eivät suorita aritmeettis-loogista operaatiota, eivätkä ne ole vastuussa hypyn tai laivan suorittamisesta, mutta ovat vastuussa tietojen siirtämisestä muistiin.

Monet näistä ohjeista ovat vanhanaikaisia ​​ja niillä on tietty kellojakson latenssi. Entä jos lisäisimme tukiprosessorin toimimaan viestin välittäjänä ja voisimme ratkaista nämä pyynnöt RAM-muistiin tai mihin tahansa muistiin samassa osoitteessa pienemmällä viiveellä? No, prosessorin suorituskyky kasvaisi ja antaisi sen keskittää kellojaksot, jotka yleensä odottavat uusien ohjeiden ratkaisemista.

No, Intel Data Streaming Accelerator perustuu tähän periaatteeseen ja on yksi avain eri prosessorien suorituskyvyn parantamiseen.

Intel Data Streaming Accelerator

Diagramma Data Streaming Accelerator

Kuten sen nimi osoittaa, se on kiihdytin, eli yksikkö, joka suorittaa tietyn tehtävän, joka tässä tapauksessa on tietojen lähettäminen lyhyemmässä ajassa kuin CPU. DSA:n erityispiirre on, että se on suunniteltu yhdelle ominaisuuksista, jotka Compute Express Link tuo mukanaan PCI Express 5.0:n kautta, mikä tarkoittaa yhtenäisen pääsyn RAM-muistiin kaikille PCI Express -porttiin kytketyille oheislaitteille, eli niillä on samat muistiosoitteet.

Siksi sitä käytetään seuraavien toimintojen suorittamiseen:

  • Voit siirtää tietoja suorittimesta RAM-muistiin ja päinvastoin.
  • Epäkoherentteihin muistitiloihin pääsemiseksi toisella muistiosoitteella voit suorittaa osoitteenmuunnoksen automaattisesti, joten teknisesti edessämme on päivitetty DMA-yksikkö.
  • Sillä on myös pääsy pysyviin tai haihtumattomiin muisteihin, joten se voi myös käyttää NVMe SSD -levyjä, Intel Optane -moduuleja, NVDIMM-moduuleja jne.
  • NTB:n kautta ja palvelinympäristössä se antaa sinulle pääsyn muuhun RAM-muistiin tai haihtumattomaan muistiin toiselta palvelinkeskuksen tai palvelimen levyltä.
  • Siinä on sisäänrakennetut toiminnot yllä olevien kohtien soveltamiseksi virtuaalikoneisiin.

Kuten monet teistä ovat saattaneet päätellä, se on eräänlainen yksikkö, joka on suunniteltu erityisesti palvelinprosessoreille, vaikka se ei olekaan automaattisesti toimiva kiinteä toimintoyksikkö.

Intel DSA -ohjeet

Data Streaming Accelerator ei ole kiinteä toimintoyksikkö, koska se ei aina käytä samaa ohjelmaa sen syöttäviin tietoihin, vaan se tukee joukkoa käskyjä, joten sitä kutsutaan toimialueen prosessorikohtaiseksi. Voit suorittaa muun muassa seuraavia toimintoja:

  • Liikkua: Klassiset x86-tietojen siirtoohjeet, assemblerin kirjoittaneet tietävät. Jos prosessorissa on yksi tai useampi Intel Data Streaming Accelerator -kiihdytin, ne suorittavat sen eivätkä suorittimen ytimet.
  • DIF: se on vastuussa muistissa olevien tietojen eheyden tarkistamisesta.
  • CRC-sukupolvi: Luo CRC-tarkistussumman lähetetyille tiedoille.
  • Täyttää: Se vastaa muistin osan täyttämisestä tietyllä tiedolla toistuvasti, on ihanteellinen tyhjentää muistin osan sisältö, koska sen avulla voimme asettaa kaikki bitit nollaan.
  • Vertailla: Sitä käytetään vertaamaan kahta muistilohkoa ja tarkistamaan, ovatko ne identtisiä.
  • Delta Record Luo: Suorita tarkistus ja luo uusi tietovirta näiden kahden välillä.

Data Streaming Accelerator voi myös ohjata useita tallennuslaitteita samanaikaisesti:

  • Ota käyttöön poista käytöstä : voit liittää tai irrottaa muistilaitteen, joko RAM-muistin tai haihtumattoman tallennustilan.
  • Keskeyttää: keskeytä kaikki muistipyynnöt RAM-muistiin tai muuhun muistilaitteeseen.
  • Valua: pyytää, että kaikki pyynnöt tehdään muistilaitteelle samanaikaisesti.

Ohjeiden luettelo on paljon suurempi, mutta se on siksi, että sinulla on karkea käsitys tämän uuden yksikön toiminnasta, jonka Intel on integroinut prosessoreihinsa. Edut ovat selvät, ja niiden odotetaan vahvistuvan edelleen Sapphire Rapidsissa.