„Cel puțin 40%” din ISA-ul x86 ar putea fi eliminat și emulat pentru a îmbunătăți eficiența procesorului

AMD vs Intel

Arhitectura setului de instrucțiuni (ISA) x86 nu pare să se îndrepte nicăieri. De ani de zile, oamenii anunță ascensiunea iminentă a ARM sau RISC-V, iar piața nu s-a clintit.

În general, oamenii încă vor să cumpere sisteme Intel și AMD care rulează Windows x86. Așadar, poate că ceea ce este nevoie nu este înlocuirea, ci reforma, iar aceasta ar trebui să fie sub forma unei REDUCERI (SHRINK).

Aceasta nu este o propunere nouă — lucrarea Simpozionului Internațional de Arhitectură a Calculatoarelor (ISCA) este datată iunie 2015, fiind rezultatul celui de-al 42-lea simpozion anual — dar s-ar putea să fie nouă pentru tine. Pentru mine a fost. Mi-a fost adusă în atenție de LaurieWired pe X, care subliniază că doar 12 din cele peste 1.000 de instrucțiuni de pe procesoarele moderne reprezintă 89% din codul C/C++ compilat.

Și chiar dacă nu mergem pe calea C/C++ (așa cum unii sugerează că aceasta s-ar putea să nu acopere toate bazele de instrucțiuni), lucrarea de cercetare SHRINK arată că există o mulțime de instrucțiuni neutilizate în timp, reprezentând toate bazele:

„Considerăm instrucțiunile care aparțin extensiilor vectoriale în categorii separate [decât cele neutilizate], deoarece, deși neutilizate, acestea sunt încă în curs de adoptare, iar UIS-urile lor sunt susceptibile de a fi utilizate în viitor.”

Aparenta supraabundență de instrucțiuni este adesea văzută atât ca un avantaj, cât și ca un dezavantaj al arhitecturii x86.

Este foarte versatilă și poate face multe – de aceea majoritatea aplicațiilor de consum sunt construite pentru aceasta și de aceea majoritatea PC-urilor de acasă o folosesc – dar nu o face în cel mai eficient mod.

Acest lucru i-a determinat pe concurenți precum Arm să intervină cu cipuri aparent mai eficiente, deși pot avea dificultăți în ceea ce privește compatibilitatea aplicațiilor.

Soluția la problema x86 cu porțiuni mari de instrucțiuni în mare parte redundante și neutilizate, potrivit cercetătorilor care au realizat lucrarea, ar putea fi SHRINK, care „oferă o metodă de reciclare a instrucțiunilor (adică eliminarea instrucțiunilor neutilizate și/sau utilizate rar și reatribuirea strategică a codificărilor acestora către instrucțiuni utilizate mai frecvent) și un mecanism pentru emularea instrucțiunilor eliminate”.

Comentarii

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.