CPU tertanam menjadi umum karena menggabungkan fleksibilitas, performa solid, konsumsi daya rendah, dan biaya efektif. Beralih dari mikroprosesor atau mikrokontroler terpisah ke CPU tertanam adalah kemenangan yang jelas untuk sebagian besar aplikasi. Namun, tidak ada CPU yang dapat menjalankan setiap algoritma secara efisien—perangkat lunak dapat tumbuh secara sembarangan kompleks, dan waktu eksekusi atau anggaran daya mungkin menjadi tidak dapat diterima.
Sumber: CEVA
Untuk mengatasi ini, produsen memperkenalkan akselerator hardware—sirkuit khusus yang melakukan operasi umum, seperti matematika floating-point, jauh lebih cepat dari perangkat lunak pada CPU umum. Konsep ini dengan cepat meluas untuk mencakup kriptografi, penanganan ekspresi reguler, grafis, dan lebih banyak lagi.
Sementara akselerator memberikan kecepatan, mereka mengorbankan fleksibilitas yang ditawarkan perangkat lunak. Mereka terhubung keras, jadi memodifikasi algoritma, memperbaiki bug, atau menyesuaikan dengan perubahan pasar memerlukan merancang ulang hardware—proses yang mahal dan memakan waktu.
Idealnya, kita ingin yang terbaik dari kedua dunia: mempercepat algoritma sambil masih menulisnya dalam perangkat lunak. DSP (Digital Signal Processor) dapat mencapai ini untuk banyak tugas berbasis stream yang umum.
DSP unggul dalam operasi data streaming seperti filter audio, konversi PDM-ke-PCM, pembatalan gema akustik, dan cipher berbasis stream seperti SNOW dan ZUC yang digunakan dalam LTE. Dalam konteks pemrosesan sinyal, mereka menangani perhitungan matriks kompleks untuk estimasi saluran antara stasiun dasar dan perangkat seluler, mengoptimalkan transmisi untuk keandalan. Secara lebih luas, DSP cocok untuk aplikasi apa pun yang mendapat manfaat dari paralelisme luas, seperti kriptografi AES.
DSP sangat kuat untuk komputasi streaming, matematika kompleks (matriks, floating point), dan paralelisme tinggi—area di mana mereka dapat bersaing atau melebihi akselerator hardware. Dalam banyak kasus, implementasi DSP lebih kecil dan lebih murah, dan konsumsi dayanya masih jauh di bawah solusi berbasis CPU. Satu DSP dapat menghosting beberapa fungsi akselerasi yang tidak perlu berjalan secara bersamaan, menghilangkan kebutuhan akan beberapa akselerator khusus. Untuk throughput yang lebih besar, DSP multi-core memberikan skalabilitas yang sama dengan CPU multi-core.
Sumber: CEVA
Mungkin keuntungan terbesar adalah pemrograman. Seperti inti CPU, DSP dapat diprogram dalam C, memungkinkan pengembang untuk menyesuaikan atau memperbarui perangkat lunak tanpa perubahan hardware. Dengan kompiler dan simulator yang mampu, mengoptimalkan untuk paralelisme menjadi dapat dikelola, memungkinkan perbaikan bug yang cepat, pembaruan fitur, dan kepuasan pelanggan yang ditingkatkan—semua sambil mempertahankan daya rendah dan biaya.
Manfaat lain adalah dukungan multi-fungsi. Misalnya, pemrosesan Global Navigation Satellite System (GNSS) mendapat manfaat dari DSP. Dalam perangkat seluler, menambahkan GNSS melalui perangkat lunak menjadi mungkin; dalam perangkat tetap, GNSS berbasis DSP dapat berjalan selama waktu leluasa, menghemat area dan daya dibandingkan unit hardware khusus.
DSP bukan pengganti universal untuk semua akselerator. Beberapa fungsi, seperti filter yang sangat besar, mungkin masih mendukung solusi yang terhubung keras. Namun, untuk berbagai algoritma, DSP mendekati atau mencocokkan performa dan daya akselerator, seringkali dengan biaya lebih rendah dan dengan fleksibilitas jauh lebih besar. Mereka adalah opsi yang menarik yang layak dipertimbangkan secara serius.
Artikel ini adalah bagian kedua dari seri yang dimulai dengan “Mengapa DSP Sekarang Ada di Mana-mana” dan akan diikuti oleh “Keputusan, Keputusan: Akselerator Hardware atau DSP?”.