Kadang-kadang teknologi komputasi baru diumumkan yang menampilkan "percepatan perangkat keras" tetapi istilah itu jarang dijelaskan dalam pengumuman tersebut. Ini sebenarnya relatif sederhana untuk dipahami untungnya. Mayoritas pemrosesan di komputer berlangsung dalam perangkat lunak yang berjalan pada CPU tujuan umum. Namun, dimungkinkan untuk membuat prosesor terpisah yang dirancang khusus untuk melakukan sejumlah kecil tugas atau bahkan hanya satu tugas. Memanfaatkan prosesor terpisah seperti ini disebut akselerasi perangkat keras.
Manfaat dan kekurangan akselerasi perangkat keras
Akselerasi perangkat keras hadir dengan dua manfaat kinerja utama. Pertama, prosesor yang dirancang untuk melakukan jenis logika tertentu lebih cepat dan lebih efisien dalam melakukan tugas daripada CPU tujuan umum. Kedua, dengan melepas beban pemrosesan itu, CPU utama memiliki lebih banyak kekuatan pemrosesan yang bebas untuk didedikasikan untuk tugas-tugas lain. Keuntungan lain termasuk peningkatan paralelisme, pengurangan konsumsi daya, dan peningkatan efisiensi.
Penggunaan prosesor terpisah khusus untuk akselerasi perangkat keras berarti menambahkan fitur baru atau bahkan hanya menambal bug bisa sulit, jika bukan tidak mungkin dalam beberapa kasus tanpa mengganti perangkat keras. Ini juga jauh lebih sulit dan lebih mahal untuk mengembangkan perangkat keras baru daripada mengembangkan perangkat lunak.
Jenis akselerasi perangkat keras
Saat ini ada tiga jenis akselerasi perangkat keras: prosesor khusus, FPGA, dan ASIC. A prosesor khusus adalah prosesor terpisah yang menggunakan perangkat keras yang dioptimalkan untuk jenis atau tipe yang dimaksud logika. Contoh populer dari prosesor khusus adalah GPU. GPU modern berisi seperangkat prosesor yang dirancang untuk tugas-tugas tertentu seperti shading dan ray tracing.
Field Programmable Gate Array atau FPGA adalah prosesor yang dirancang untuk dapat dikonfigurasi oleh pelanggan setelah pembuatan. FPGA dapat diprogram agar sesuai untuk berbagai fungsi logika yang berbeda, tergantung pada tugas yang dirancang untuknya. Karena FPGA dapat diprogram ulang, FPGA populer untuk pengembangan prosesor ASIC.
ASIC atau Sirkuit Terpadu Khusus Aplikasi adalah prosesor yang dioptimalkan secara khusus untuk menjalankan satu tugas. Dengan ASIC, tidak pernah ada niat agar prosesor digunakan untuk hal lain selain yang dirancang untuk itu. Melalui kedalaman pengoptimalan ini, ASIC sangat efisien dalam melakukan tugasnya.