Acceleratoare orientate spre software (set de instrucțiuni)

Setul de instrucțiuni „acceleratoare orientate pe software” ( ing.  Application Targeted Accelerator, ATA ) este o extensie a setului de instrucțiuni care vizează reducerea latenței și reducerea consumului de energie la rularea aplicațiilor specializate, dezvoltate de Intel și utilizate în noile sale microprocesoare .

Acceleratoarele bazate pe software extind capacitățile arhitecturii Intel prin optimizarea performanței, tensiune ultra scăzută și acceleratoare de putere redusă dedicate direct în procesorul proiectat pentru aplicații speciale. Acceleratoarele fac parte din evoluția tehnică a nucleului procesorului , adăugând diverse îmbunătățiri specializate procesorului, rezultând performanțe ridicate și eficiență energetică excelentă atunci când rulează aplicații specializate.

  1. Prima parte a acceleratoarelor bazate pe software accelerează procedura de verificare a redundanței ciclice (CRC ) a integrității datelor unor aplicații. Aceasta este o nouă instrucțiune CRC a procesorului care îi permite procesorului să verifice rapid și eficient integritatea datelor la un cost mai mic decât utilizarea cipurilor separate în stratul superior al protocoalelor de transfer de date , cum ar fi protocoalele iSCSI și RDMA , unde instrucțiunea CRC este redată doar rolul unui detector de erori. Absența acestei instrucțiuni i-a forțat pe furnizorii de servicii să folosească plăci de accelerație scumpe și cu consum mare de energie pentru a obține astfel de beneficii. Puterea procesoarelor Intel multi-core bazate pe microarhitectura Intel Core și această nouă instrucțiune de procesor CRC își propune să crească performanța protocoalelor de rețea specializate, cum ar fi iSCSI și RDMA, fără costuri suplimentare. Acest lucru poate facilita răspândirea soluțiilor low-cost - rețele de stocare bazate pe protocolul iSCSI. Astfel de rețele sunt o alternativă la canalele de fibră optică mult mai scumpe și sunt concepute pentru a rezolva diverse probleme asociate stocării datelor.
  2. A doua parte a acceleratoarelor bazate pe software constă dintr-o singură instrucțiune de procesor POPCNT, care poate fi utilizată pentru căutare eficientă într-o cantitate imensă de date. Funcționează prin numărarea numărului de biți setați din obiectul de date. Exemple de aplicații care vor beneficia de pe urma acestei instrucțiuni includ descoperirea genomului, recunoașterea scrisului de mână, medicina și calcularea rapidă a distanței Hamming și a umpluturii.
Seturi de instrucțiuni de procesor pentru acceleratoare orientate spre software
Subgrup Instrucțiuni pentru procesor Descriere Îmbunătățiri de performanță așteptate
CRC rapid (verificare a redundanței ciclice) CRC32 Găsește valoarea CRC utilizând variația codului polinomial a operandului sursă dat. Verificare rapidă și eficientă a integrității datelor cu protocolul de transfer de date pentru aplicații de rețea
Căutare mai rapidă și recunoaștere a modelelor de seturi mari de date POPCNT Numărați numărul de biți cu valoarea 1 din operandul dat. Ajută la obținerea unor performanțe mai mari în aplicații precum descoperirea genomului, recunoașterea scrisului de mână, medicină, algoritmi Hammin rapidi etc.