特定用途向け命令セットプロセッサ(ASIP )は、システムオンチップ設計で使用されるコンポーネントです。ASIPの命令セットアーキテクチャは、特定のアプリケーションに最適化されています。このコアの特化により、汎用CPUの柔軟性と特定用途向け集積回路(ASIC)の性能との間でトレードオフが実現されます。
ASIPの中には、構成可能な命令セットを持つものがあります。通常、これらのコアは、最小限のISA(命令セットアーキテクチャ)を定義する静的ロジックと、新しい命令を設計するために使用できる構成可能ロジックの2つの部分に分かれています。構成可能ロジックは、フィールドプログラマブルゲートアレイ(FPGA)と同様の方法で現場でプログラムすることも、チップ合成中にプログラムすることもできます。ASIPには、リターゲット可能なコードジェネレータまたはリターゲット可能なコンパイラジェネレータの2つのコード生成方法があります。リターゲット可能なコードジェネレータは、アプリケーション、ISA、およびアーキテクチャテンプレートを使用して、オブジェクトコードのコードジェネレータを作成します。リターゲット可能なコンパイラジェネレータは、コンパイラを作成するためのベースとしてISAとアーキテクチャテンプレートのみを使用します。その後、アプリケーションコードはコンパイラによってオブジェクトコードの作成に使用されます。[ 1 ]
ASIPは、ベースバンド信号処理[ 2 ]やビデオコーディング[ 3 ]のハードウェアアクセラレータの代替として使用できます。これらのアプリケーション向けの従来のハードウェアアクセラレータは柔軟性に欠けます。手書きの有限状態機械(FSM)でハードウェアデータパスを再利用することは非常に困難です。ASIPのリターゲット可能なコンパイラは、設計者がプログラムを更新してデータパスを再利用するのに役立ちます。通常、ASIPの設計はツールフローに多かれ少なかれ依存します。これは、プロセッサをゼロから設計することが非常に複雑になる可能性があるためです。1つのアプローチは、高レベル言語を使用してプロセッサを記述し、ASIPのソフトウェアツールセットを自動的に生成することです。[ 4 ]
RISC-V命令セットアーキテクチャ(ISA)は、追加のアプリケーション固有の命令で拡張できる最小限の基本命令セットを提供します。[ 5 ]基本命令セットは、レジスタに対する制御フロー、メモリ、および算術演算を簡素化します。モジュール設計により、基本命令を、整数乗算/除算(M)、単精度浮動小数点(F)、ビット操作(B)などの標準的なアプリケーション固有の操作に拡張できます。非標準の命令拡張の場合、ISAのエンコード空間は、標準、予約済み、カスタムの3つの部分に分割されます。カスタムエンコード空間は、ベンダー固有の拡張に使用されます。
{{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)