Seperti sudah dijelaskan pada pembahasan HSA sebelumnya, HSA (Heterogeneous System Architecture) adalah sebuah sistem yang dikembangkan untuk mengendalikan beragam processing unit dan accelerator secara terpadu. Kini AMD mengungkap satu lagi teknologi dibalik sistem HSA pada APU AMD: hQ. Akan tetapi, sebelum membahas hQ, mari kita simak kembali teknologi HSA pada APU AMD yang sudah diperkenalkan terlebih dahulu: hUMA.
hUMA
Untuk membuat sistem HSA efektif, AMD sudah sejak lama memperkenalkan hUMA atau heterogeneus Uniform Memory Access. Ini jawaban terhadap masalah utama yang terjadi jika ingin mengendalikan CPU dan GPU dengan HSA.Tanpa hUMA
- CPU memiliki alokasi memorinya sendiri. Semua yang ada dalam memori yang dikendalikan CPU ini hanya bisa dilihat oleh CPU.
- Di sisi GPU, terjadi hal yang sama dengan di atas.
- Masalah timbul saat ada sebuah pekerjaan yang harus diselesaikan CPU lalu diteruskan pengerjaannya oleh GPU.
- CPU akan memiliki data yang harus dilanjutkan pengerjaannya. Padahal, data ini adanya di memori khusus untuk CPU. Jadi, CPU harus memindahkan data ini ke memori khusus GPU terlebih dahulu, sebelum GPU dapat meneruskan pekerjaan.
- Pada dasarnya, hUMA membuat CPU dan GPU bisa melihat data yang sama di dalam memori.
- Hal ini membuat pertukaran data antara CPU dan GPU menjadi mudah. Karena, CPU bisa menunjukkan alamat memori yang juga bisa dikendalikan (atau “terlihat”) oleh GPU. Begitu pula sebaliknya.
Nah, jika hUMA sudah membereskan masalah akses ke data, sekarang caranya perintah yang dikerjakan CPU bisa dipindahkan atau “dioper” atau dilanjutkan ke GPU dan sebaliknya? Untuk keperluan ini, AMD memperkenalkan hQ.
hQ
HQ adalah singkatan dari heterogeneous Queuing. HQ ini adalah metode antrian perintah pada sebuah sistem HSA. Sementara waktu, hQ berlaku untuk CPU dan GPU di dalam APU AMD yang mendukung HSA.Pada dasarnya, hQ akan membuat CPU dan GPU menjadi “setara”. Jadi, CPU bisa memerintah GPU dan begitu pula sebaliknya. Untuk mudahnya, kami akan coba jelaskan detail kerjanya secara sederhana.
Tanpa hQ
- Perintah dari aplikasi pasti dikirimkan ke CPU.
- Jika perintah tersebut membutuhkan pekerjaan GPU, maka CPU akan mengirimkannya ke GPU, melalui Operating System terlebih dahulu.
- Perintah yang ada di GPU ini tidak bisa dilanjutkan ke CPU. Jadi, aplikasi harus meneruskan ini dengan perintah baru lagi.
- Perintah bisa dikirimkan ke CPU maupun GPU, tergantung pekerjaan awalnya membutuhkan sisi mana.
- Jika perintah dikerjakan pertama-tama oleh CPU dan kemudian membutuhkan GPU, maka CPU dapat langsung “melempar” perintah ke GPU.
- Jika perintah tadi sudah selesai dikerjakan GPU dan membutuhkan pengerjaan oleh CPU, maka GPU dapat pula langsung meneruskan ke CPU kembali.
No comments:
Post a Comment