Nell'evoluzione che AMD intende portare avanti con le APU di prossima generazione per l'ecosistema HSA un ruolo fondamentale sarà giocato dal concetto di hUMA, acronimo di Heterogeneous Uniform Memory Architecture. Se con Llano e Trinity/Richland AMD si è occupata dell'integrazione fisica di CPU e GPU on-die e dell'ottimizzazione del meccanismo di comunicazione, con Kaveri passerà alla condivisione diretta delle risorse tra i due componenti.

hsa

Si tratta di un approccio che vedremo in parte già sull'APU semi-custom della PS4 e che rappresenta l'estensione del temine comune UMA (Uniform Memory Architecture) anche all'iGPU. Attualmente le APU adottano l'approccio NUMA (Non-Uniform Memory Access) con l'accesso non unificato alla memoria di sistema tra CPU e iGPU. I due componenti hanno un proprio memory controller separato che lavora in abbinamento ad un controller DRAM condiviso "a valle", il quale si occupa solo di gestire l'indirizzamento verso i moduli di memoria. Dal lato della programmazione questo significa che bisogna tener conto del percorso necessario per il "palleggiamento" dei dati tra CPU e iGPU, che devono essere prima copiati e poi elaborati, con ovvie ripercussioni temporali (infatti per facilitare la programmazione AMD ha introdotto con Llano la tecnologia zero-copy).

In Kaveri CPU ed iGPU condividono un unico memory controller e pescano simultaneamente nel bacino DRAM.

a

 

L'introduzione di uno spazio d'indirizzamento unificato della memoria tra CPU ed iGPU semplifica enormemente la condivisione dei dati tra le due unità, permettendo di migliorare l'efficienza ed il tempo di elaborazione complessivo.

c

Un altro vantaggio di Kaveri è che l'iGPU potrà accedere ai dati nella memoria virtuale direttamente tramite iMC.

b 

Maggiori dettagli sull'Heterogeneous Uniform Memory Architecture e su Kaveri saranno illustrati al prossimo "APU13 Development Summit" che si terrà a San Jose dall'11 al 14 novembre.