Prosesor soft core VS Prosesor hard core

19

Saya sedang melakukan studi tentang antarmuka FPGA dengan Microprocessor seperti ARM9.

Datang di konsep Soft core dan Hard core Processors dalam penelitian saya. Bolehkah saya tahu apa perbandingan antara 2 tipe ini; persamaan atau perbedaan dalam implementasi?

Bagaimana Xing Quan
sumber

Jawaban:

19

Soft core diimplementasikan dalam fabric FPGA sementara Hard diimplementasikan sama dengan sirkuit terintegrasi saat masih terhubung ke fabric FPGA. Perbandingan umumnya bermuara pada:

Hard Core Processors - 100's MHz hingga 1GHz + kecepatan

  • Dapat mencapai kecepatan pemrosesan yang jauh lebih cepat karena dioptimalkan dan tidak dibatasi oleh kecepatan kain
  • Diperbaiki dan tidak dapat dimodifikasi (meskipun dapat memanfaatkan logika khusus di fabric FPGA untuk diproses

Soft Core Processors - 250MHz dan kurang (biasanya kurang dari 200MHz)

  • Dapat dengan mudah dimodifikasi dan disesuaikan dengan persyaratan tertentu, lebih banyak fitur, instruksi khusus, dll.
  • Beberapa core dapat digunakan (dengan biaya sumber daya)
  • Terbatas oleh kecepatan kain.

Dalam beberapa tahun terakhir, telah ada langkah besar menuju prosesor keras terutama karena kebutuhan untuk pemrosesan lebih cepat yang tidak dapat disediakan oleh core lunak. Ketika Anda meletakkan prosesor hard core dengan fabric FPGA, Anda biasanya dapat mengaktifkan pemrosesan banyak data, yang diperlukan untuk aplikasi infrastruktur komunikasi (banyak GB data yang lewat), misalnya.

Gustavo Litovsky
sumber
11

Prosesor soft-core adalah prosesor yang diimplementasikan menggunakan fabric FPGA.

Prosesor hard-core adalah prosesor yang secara fisik diimplementasikan sebagai struktur dalam silikon.

Pada dasarnya, Anda dapat menambahkan prosesor soft-core ke sistem berbasis FPGA setelah dirancang. Namun, menambahkan prosesor hard-core membutuhkan FPGA yang berbeda, atau chip tambahan di papan tulis.


Prosesor hard-core lebih disukai bila mungkin karena rasio harga / daya komputasi untuk CPU perangkat keras jauh lebih baik. Menerapkan CPU dalam FPGA fabric sangat intensif sumber daya, terutama jika Anda ingin banyak daya komputasi. CPU perangkat keras yang setara kemungkinan jauh lebih murah.


Tidak hanya perangkat keras CPU jauh lebih murah, tetapi juga cenderung jauh lebih hemat energi. Dalam platform yang dioperasikan dengan baterai, efisiensi sangat penting untuk masa pakai baterai yang lama. Gerbang yang tidak digunakan dalam FPGA kadang-kadang dapat dimatikan, tetapi biasanya ada sirkuit yang jauh lebih aktif di prosesor inti lunak daripada di CPU hardware tujuan-desain. Semua silikon FPGA potensial menghabiskan daya.

Connor Wolf
sumber
"Keras" dan "lunak" juga dapat merujuk pada deskripsi perangkat keras yang digunakan dan tidak hanya apakah inti diimplementasikan dalam kain (lihat "Prosesor Makro Keras" ARM ). Halaman Pusat Desain Barat, Inc., ini memberikan contoh tentang hal ini. gunakan: "ASIC (Manuallly Optimized GDSII Hard Core dan Verilog RTL Soft Core), dan FPGA (Verilog RTL Soft Core)". Konteks FPGA mungkin mengecualikan penggunaan istilah ini (meskipun biner gumpalan / LUT-inisialisasi-nilai vs RTL tampaknya analog).
Paul A. Clayton
Jadi pada dasarnya, soft-core = FPGA, hard-core = ASIC?
nalzok
@nalzok - Yap. Saya bisa melihat argumen untuk memanggil meniru satu CPU pada CPU lain sebagai inti "lunak", tetapi orang-orang hanya menyebut emulasi itu dalam pengalaman saya.
Connor Wolf