プロセッサをカスタマイズする理由とその方法


10月 1, 2021

プロセッサをカスタマイズする. これはプロセッサIPコアを特定のワークロードに最適化するアプローチの一つの方法です. 既存コアのリストから比較的要件を満たしているものを選び, それをスタート地点として最適化したプロセッサを作るというものです. では, なぜ, そして, どのようにプロセッサをカスタマイズするのでしょうか.

カスタム・コアを開発する利点は?

その前に, プロセッサ・コンフィグレーションとプロセッサ・カスタマイズの違いを理解しておきましょう. まず, この2つは全く異なるものです. プロセッサのコンフィギュレーションとは, IPベンダが提供するオプション(キャッシュサイズ, MMUのサポートなど)を設定することです. プロセッサのカスタマイズとは, ISAの変更や新しい命令の記述など, より踏み込んだ変更を必要とする何かを追加または変更することを意味します. このブログでは, 後者のプロセッサのカスタマイズに焦点を当てます.

性能, 面積効率, 電力効率を同時に満たす必要がある製品を開発る場合, 既存のプロセッサをカスタマイズすることは効率的です. ベクトル命令と低消費電力機能の両方を必要とする自律走行車用プロセッサを設計する場合でも, リアルタイム性と電力・面積の制約がある演算ストレージ用プロセッサを設計する場合でも, 最適化された専用コアが効果的となります.

これまでSoC上の複数のIP, もしくは多機能を集約した消費電力の激しい大きなIPで実現していた機能が, プロセッサのカスタマイズにより, 必要とする標準拡張やカスタム拡張, すべてのアーキテクチャ拡張を1つのプロセッサIPで実現することができます. 既存のプロセッサをお客様独自のニーズに合わせて最適化することには, 以下の大きな利点があります.

  • 面積を節約し, 電力とパフォーマンスの目標を的確に捉え最適化できます
  • 既存プロセッサは既に検証済みなので, カスタム拡張機能を加えた検証を行い, すぐに使用可能
  • どのような変更を行うかは, あなた次第, 競合他社との差別化に注力可能

カスタマイズはそう簡単にはできないと思われるかもしれません. またカスタム・プロセッサの検証はどこまで信頼できるのだろうか, と疑問に思われるかもしれません. 現在, 差別化することは, 難しく, 時間がかかり, 時にはより高くつくようになってきています. プロセッサのカスタマイズが成功するかどうかは, 以下の2点に懸かっています

  • RISC-VのようなオープンソースISAであること
  • 設計と検証の自動化

カスタム・プロセッサ, ASIP, ドメイン特化型アクセラレータ, アプリケーション特化型プロセッサなど, これらはすべてプロセッサのカスタマイズを意味します.

RISC-Vプロセッサをカスタマイズする方法

RISC-Vの命令セット・アーキテクチャ(ISA)は, カスタマイズされることを念頭において作られています. カスタムプロセッサを作りたいのであれば, 既存RISC-Vプロセッサから始めるのが理想的です.

基本命令セットにオプションで標準拡張非標準カスタム拡張を追加して, プロセッサを特定のアプリケーション向けにカスタマイズすることができます.

RISC-Vのモジュール式命令セット     ソース:コダシップ

設計の品質と検証の信頼性を確保する確実なカスタマイズ・プロセスには, 自動化が重要です.

コダシップは, 以下の方法でRISC-Vプロセッサが提供可能です:

  • 一般的な形式(RTL, テストベンチ, SDK)
  • CodALのソースコード

コダシップはCodALを使用して,  Codasip RISC-Vプロセッサを開発, SDKとHDKを自動生成しています. コダシップもユーザもCodALのソースコードを編集して, 独自のカスタム拡張機能を作成したり, 必要に応じて他のアーキテクチャの機能を変更することができます. 

 CODASIP STUDIOによるプロセッサ設計自動化

従来のアプローチでは, コアに新しい命令を追加するためには, 手作業で追加する方法しかありませんでした. この場合, 以下の部分を手作業で修正する必要があります.

  • ソフトウェア・ツールチェーン
  • 命令セットシミュレータ
  • 検証環境
  • RTL

ソフトウェア・ツールチェーンでは, 新しい命令をコンパイラが使用できるように組み込み関数を作成することができますが, これは同時にアプリケーションコードの更新が必要であることも意味します. しかし, 既存のISSやRTLを変更することは, エラーの原因となる可能性が高く, また, 検証環境の変更が必要な場合, これはさらに問題発生の可能性が高くなります. これらの手作業による変更を検証することは大きな課題であり, 開発プロジェクトによりリスクをもたらします.

一部のベンダは, 部分的に自動化されたソリューションを提供していますが, プロセッサのカスタマイズのすべての側面をカバーしていないため, 手動変更によるエラーのリスクが残されています.

これに対してCodasip Studioを使用した場合, CodALのソースコードのみの修正だけです. LLVMツールチェーンは, 新しい命令をサポートするように自動生成されます. 同様に, ISSとRTLもカスタム命令を含むように自動生成され, 更新されたUVM環境を使用して即検証することができます. この方法は, 時間の節約になるだけでなく, より強固で, 確実なカスタマイズ・プロセスとなっています.

RISC-VとCODASIPでアプリケーション特化型プロセッサを作る

従来のプロセッサ設計では差別化がより難しく, より時間がかかり, 時には高コストになります. 独自の差別化要件を満たすようにプロセッサをカスタマイズすることが鍵です. PPAを犠牲にすることなく, アプリケーションに特化したプロセッサを効率的に作成するには, オープン・アーキテクチャと, 設計・検証プロセスを自動化するツールが必要です. 詳細は, ホワイトペーパー 「カスタムRISC-V ISA命令によるドメイン特化型プロセッサの作成について」”でご確認ください

ホワイトペーパーをダウンロードする

Roddy Urquhart

Related Posts

Check out the latest news, posts, papers, videos, and more!

プロセッサのコンフィグレーションとプロセッサのカスタマイズの違い

8月 12, 2021
By Roddy Urquhart

ASIPとは?

4月 16, 2021
By Roddy Urquhart

既存RISC-Vプロセッサのカスタイマイズ

2月 11, 2021
By Roddy Urquhart

プロセッサのコンフィグレーションとプロセッサのカスタマイズの違い


8月 12, 2021

長年, プロセッサIPコアのコンフィギュレーションについて語られてきましたが, オープンRISC-V ISAへの関心が高まるにつれ, カスタマイズについて語られることが多くなっています. では, プロセッサ・コンフィギュレーションとカスタマイズの違いは何でしょうか?

CPUコンフィギュレーションはピザ屋にピザを注文するのと同じ

簡単な例えとして, ピザの注文を思い浮かべてください. 多くのピザ屋さんでは, 標準的な何種類かのピザと, 限られたリストからトッピングを選ぶことができますよね. その限られた中から, 自分好みの味にコンフィグレーションしてピザを注文します.

プロセッサIPベンダーは今までオプションのキャッシュ, 密結合メモリ(TCM), オンチップデバッグなど, いくつかの標準オプションを顧客に提供し, それらを組み合わせて顧客のニーズに合った構成を提供してきました. ただし, コアそのものは変わらず, もしくはごく限られたバリエーションに留められていました. 命令セット, レジスタセット, パイプラインももちろんそのままで, キャッシュなどのオプションブロックだけを変えることが許されている状況です.

CPUのカスタマイズは, シェフがあなたのために特別なピザを作ってくれるのと同じ

今では多くのユーザーが, プロセッサ・コアにより高い専門的な特性と可変性を求めています. これは, シリコン面積と消費電力を抑えながら, 性能を向上させるためかもしれません. それを実現するにはいくつかの方法があるでしょう. 例えば, ターゲット・アプリケーションに最適化したカスタム命令の作成やポートやレジスターを追加するなど. しかしこのような変更は, プロセッサ・コアそのものを根本的に変えてしまうことになります.

ピザの例え話に戻りますが, カスタマイズとは, あなた専用シェフがピザの基本レシピを持っているけれども, トッピングを自由自在に変えてくれるだけではなく, 小麦粉, オイル, イースト酵母といった標準的な材料を貴方好みのものに変更して, ピザの基本から変更してくれるようなものです. これこそ, プロセッサをカスタマイズする大きな理由と同じではないでしょうか.

そして, これこそがRISC-Vがもたらした可能性です. 既存のRISC-Vプロセッサに, オプションの標準拡張機能や非標準のカスタム拡張機能を追加して, 特定の要件に適合するようにカスタマイズすることができるのです.

RISC-VとCODASIP(コダシップ)でカスタムコアを作成する

IPサプライヤの中には, コアの拡張を許可しているところもありますが, カスタマイズの範囲が最も広いのはRISC-Vです. RISC-VのISAは, 当初からカスタム命令をサポートするように考えられています. コダシップのRISC-Vプロセッサは, アーキテクチャ記述言語CodALを用いて開発されており, Codasip Studioで簡単にカスタマイズすることが可能です. カスタム命令を使用してドメイン特化型プロセッサを作成する方法の詳細については, 当社のホワイトペーパーをダウンロードしてください.

ホワイトペーパーをダウンロードする

Roddy Urquhart

Related Posts

Check out the latest news, posts, papers, videos, and more!

RISC-VでSoCオープンスタンダードのギャップを埋める

3月 24, 2022
By Roddy Urquhart

プロセッサをカスタマイズする理由とその方法

10月 1, 2021
By Roddy Urquhart

RISC-Vは未来なのか?

7月 27, 2021
By Roddy Urquhart

オープンソースと商用RISC-Vライセンスモデル


11月 26, 2020

Arm, Cadence, Synopsysといった従来のプロセッサIPベンダーによる商用ライセンスについては誰もがよく理解しています. しかし, RISC-Vのオープン命令セットアーキテクチャ(ISA)を議論する際, 単語が正しく認識されていないため, RISC-Vが「オープンソース」であるといわれることが多々あります. また, コダシップやAndesのような商用RISC-V IPのベンダーを, RISC-Vの精神に則っていないと非難する人さえいます. しかし, 実際はどうでしょうか? RISC-VベースのプロセッサIPのライセンスモデルはどのようなものなのでしょうか?

オープンソース, オープンスタンダード, 商用とはそれぞれどういう意味なのか?

定義について簡単に見てみましょう. C言語, Verilog, HTTPなどのオープンスタンダードは, 独立した組織が維持する文書で定義されています. したがって, C言語はISO, VerilogはIEEE, HTTPはIETFによって維持管理されています. これらの組織は, 公平なルールに基づいて技術標準を維持しています. このようなオープンスタンダードは, 一般的に自由にアクセスすることができます

オープンソースとは, ソフトウェアパッケージのソースコードやハードウェアブロックのハードウェア記述言語ソースを, ライセンスによって公開することです. オープンソースのライセンスは, コピーレフトのような強い共有性を有すものから, Apacheのような寛容的なものまで様々であります. オープンソース・ライセンスは, コードの使用, 研究, 変更, 配布に関する権利を定義します. コピーレフトライセンスは, いかなる変更もオープンソースにすることを要求しますが, 寛容な(パーミッシブ)ライセンスはそうではありません

RISC-VはオープンスタンダードISA仕様であり, マイクロアーキテクチャやビジネスモデルを一切定義していません. したがって, RISC-Vマイクロアーキテクチャは, 作者の意向で商用IPライセンスにも, オープンソース・ライセンスにもすることができます. 何も規定されていないのです

古典的な商用プロセッサのIPライセンスでは, 一般的に下記の費用がかかります

  •     ベンダーのISAを使用する権利
  •     ベンダーのマイクロアーキテクチャを使用する権利
  •     保証
  •     ベンダーのエラー修正へのコミットメント
  •     免責

実際には, 保証は通常期限付きで, 補償も限定的です. しかし, バグが発見された場合ベンダーは設計を修正することを約束することになり, これは特にスケジュールが厳しい場合にはライセンシーにとって重要です. 知的財産権の補償とは, ライセンシーが特許侵害で訴えられた場合, ベンダーがライセンシーに代わって訴えを弁護するか, 解決することを意味します

従来のIPライセンスとアーキテクチャ・ライセンスモデル VS. RISC-Vのライセンスモデル

古典的なIPベンダーは, 自社のマイクロアーキテクチャだけでなく, 自社のISAも厳重に管理してきました. 通常のライセンスでは, ISAとマイクロアーキテクチャの使用を一括りにし, ライセンシーは成果物を変更する権利はありません. ごく稀に, ベンダーISAとライセンシー独自のマイクロアーキテクチャを組み合わせて使用できる, アーキテクチャライセンスを提供するベンダーもいますが, この手のライセンスは高額です. RISC-Vが革新的である理由の1つは, プロセッサ開発において最も価値のあるISAがオープンかつ無料であることです

 RISC-Vは無料ですか?オープンソースと商用のRISC-VベースIPコア

RISC-Vはマイクロアーキテクチャやライセンス方法を規定していないため, RISC-V IPコアには, オープンソース・ライセンスと商用ライセンスとの両方が存在します. オープンソース・ライセンスの場合, マイクロアーキテクチャのライセンス料も無料ですが, その一方で商用ライセンスと同様の利点がすべて得られるわけではありません. 一般に, 成果物には保証がなく「現状有姿」で受け入れなければなりません. 同様に, 商用ライセンスに付帯するような補償もありません. バグが発見された場合, オープンソース・コミュニティまたはライセンシーのいずれかが, それを修正することになります

商用ライセンスのRISC-Vコアでは, ISAは無料でライセンスされているため, マイクロアーキテクチャに関する費用のみが発生します. このライセンスでは, 通常商用ライセンスに付随する保証, 免責, バグフィックスのコミットメントの付帯が期待できます

RISC-Vに適したライセンスモデルの選び方

「RISC-Vは本当にオープンソースなのか」という質問をよく受けます. RISC-Vは, 企業がRISC-Vマイクロアーキテクチャを作成するためのオープンスタンダードです. そして, 企業はそのIPをオープンソースまたは商用としてライセンスすることができます. RISC-Vではどちらが正しい選択なのでしょうか?オープンソース・ライセンスと商用ライセンスのどちらにもメリットとデメリットがあります. あなたの設計プロジェクトに何が最適かを天秤にかける必要があります

コダシップでは, 商用RISC-V IPライセンスと, お客様がISAとマイクロアーキテクチャの両方を変更することを可能にするStudioテクノロジを提供しています. かつて, オープンソース・ライセンスと商用ライセンスは, 競争相手と見なされていました. しかし, ソフトウェアの世界では, マイクロソフトのような企業が両方のモデルを受け入れています. マイクロソフトは商用ライセンスを提供し, オープンソースプロジェクトをサポートし, クラウドベースのビジネスモデルを持っています. RISC-Vのオープンソース・ライセンスと商用ライセンスは, 共存・補完し合うことができるのです

Studioテクノロジ

RISC-V IPライセンス

Lauranne Choquin

Corporate Marketing Manager

Related Posts

Check out the latest news, posts, papers, videos, and more!

RISC-VでSoCオープンスタンダードのギャップを埋める

3月 24, 2022
By Roddy Urquhart

プロセッサをカスタマイズする理由とその方法

10月 1, 2021
By Roddy Urquhart

プロセッサのコンフィグレーションとプロセッサのカスタマイズの違い

8月 12, 2021
By Roddy Urquhart