ASIPとは?


4月 16, 2021

ASIPはApplication Specific Instruction-Set Processorの略です. これは特定のアプリケーションやドメインのために最適に設計されたプロセッサを意味します.

汎用プロセッサ VS. ドメイン特化型やアプリケーション特化型プロセッサ

これまでのプロセッサコアの多くは汎用型で, 平均的な性能で幅広いアプリケーションを処理できるように設計されています. そのため, オーディオ処理など特殊な計算を必要とするアルゴリズムでは, 高性能なコア(SIMDユニットやゼロオーバーヘッドループなど)や, 高いクロック周波数が必要となり, 想定したシリコンや電力が許容範囲を超えてしまう可能性があります.

それではどうすれば良いのでしょう. 答えは, オーディオ処理に必要な性能を効率的に達成するために最適化した, アーキテクチャを持つASIPを作成することです. ASIPは, オペレーティングシステムが求めるような, 汎用的な操作の処理に適した設計ではありません. OSの処理が必要な場合は, オーディオ処理アルゴリズムを実行するためのものではない, 別の汎用コアで実行すれば良いのです. このようにして, ASIPの設計は, ユースケースを満たすのに十分な柔軟性を持ちつつ, 性能面も最適化されるのです

ASIPは世界中の大学で研究され, オーディオ信号処理, イメージセンサ, ベースバンド信号処理など様々な領域に応用されています. コダシップの創業者のKarel MasaříkとCTOのZdeněk Přikrylは, ブルノ工科大学でASIPの設計自動化について研究しました. 彼らの研究の詳細については, 本記事の最後に掲載されている論文をご覧ください.

半導体のスケーリング課題に対応するためのASIP

ASIPやドメイン特化型プロセッサは, 半導体の微細化の問題から, 今後より広く使用されていくことと考えられています. これまで数十年にわたり, SoCの開発者はムーアの法則とデナード・スケーリングに基づき, シリコン形状の微細化で,回路密度と高性能を得ようとしてきました.

このスケーリングが機能している間は, 汎用プロセッサコアや新世代のシリコン技術を使用することで, 許容範囲内の消費電力で必要な性能を実現することが可能でした. しかし, このスケーリングが崩壊し, 性能向上が鈍化し, リーク電流が消費電力を悪化させることが分かってきました. 処理に対する新しいアプローチが必要とされている今, 半導体業界は変わらなければいけません.

これまで, 業界におけるこの共通課題は, 1つのSoCに異なる種類の汎用コアを搭載することで対処されてきました. 例えば, 携帯電話のSoCでは, アプリケーションプロセッサ, GPU, DSP, MCUが組み合わせていますが, これらのプロセッサはいずれもアプリケーションに特化した命令セットは持っていません.

人工知能, 高度なグラフィックス, 高度なセキュリティなど, 新たなアルゴリズムが求められる新製品が登場する中, より専門性の高いハードウェア・アクセラレータが必要とされ, 開発が進んでいます. このようなアクセラレータは, 計算負荷の高いアルゴリズムを効率的に処理するために設計されています. それぞれのアクセラレータには, 最適化された命令セットとマイクロアーキテクチャが必要となります. そう, ASIPが必要です.

ASIPとソフトウェア開発

ドメイン特化型プロセッサ(ASIPと同義語として私たちは使っています)は, ハードウェアの専門化と柔軟性を, ソフトウェアのプログラマビリティと組み合わせて実現しています.

カスタムハードウェアを作る際の課題の1つは, ソフトウェア開発者のニーズも確実に満たすことでます. 組み込み(イントリニシック)命令のような手法は, C言語から命令セットへの直接アクセスを可能にしますが, コードの柔軟性を低下させます. だたし, 複雑な機能を1つの命令で実現するような際には, この方法が有効な解決策となる場合もあります.

しかし, それでもトップダウンのアプローチの方が好ましいでしょう. あなたのドメイン特化型アクセラレータ用に作成されたコンパイラが, あなたが作成したカスタム命令を自動的に推論します. これを命令セットシミュレータとプロファイラとともに使用することで, 短時間でさまざまな設計アイデアの試行を行い, 最適なソリューションに早く収束させることができます.

Codasip Studioは, シンプルな命令レベルモデルからISAとコンパイラを生成する機能を提供し, この探求プロセスに対する完全なソリューションを提供します.

アプリケーション特化型プロセッサの設計自動化および検証

多種多様なアクセラレータを開発する必要がある中, 命令セットやマイクロアーキテクチャを手作業で開発するのは効率的ではありません. アプリケーション・ソフトウェアは, プロファイリングで解析し, そのニーズに合わせて命令セットをチューニングすることができます. その後, Codasip Studioのようなプロセッサ設計自動化ツールセットを使うことにより, ソフトウェア・ツールチェーンや命令セットシミュレータを生成することができます.

具体的には, Codasip Studioは, 命令セットを完全に認識し, 特定の命令を自動的に推論できるC/C++コンパイラの生成を自動化します. アプリケーション固有の命令の影響を確認するために, C/C++コンパイラを作業ループに含めることが重要です. 命令セットシミュレータ, デバッガ, プロファイラ, その他自動生成されるSDK内のツールも同様です. Codasip Studioは, RTL, テストベンチ, UVM環境を含むハードウェア設計環境の生成も行います.

実は…

コダシップは, もともとASIPの協調設計ツールを作るために設立された会社であり, この理由から「Co-dASIP」と名付けられました. その後, Codasip Studioは, RISC-V組み込みコアやアプリケーションコアなど, より汎用的なコアの作成にも使用されるようになりました.

プロセッサの設計は, RTLコードの生成で終わるわけではありません. 設計サイクルの主要な部分は検証であり, それは厳密である必要があります. Philippe Luc氏がSemiconductor Engineering誌で説明したように, RTLの検証は多層的で複雑です.

Codasip Studioは, ASIP設計の全フローをより迅速にするために, 検証プロセスの主要な部分を自動化することができます. 特に, Codasip Studioは, 最適化された命令の自動カバレッジポイントを生成します. 提供されるUVM環境では, モデルおよびRTLの両方でプログラム(新しい命令を含む)を実行し, 結果を比較することを容易にしています. また, 制約付きランダムプログラム生成ツールも提供し, カバレッジを満たし, お客様の検証がより迅速に行えます.

Codasip StudioとRISC-Vの最高のコンビネーションについては, ホワイトペーパー「カスタムRISC-V ISA命令によるドメイン特化型プロセッサの作成について」をご覧ください.

ASIPの設計自動化に関するコダシップの研究論文

  • MASAŘÍK Karel, UML in design of ASIP, IFAC Proceedings Volumes 39(17):209-214, September 2006.
  • ZACHARIÁŠOVÁ Marcela, PŘIKRYL Zdeněk, HRUŠKA Tomáš and KOTÁSEK Zdeněk. Automated Functional Verification of Application Specific Instruction-set Processors. IFIP Advances in Information and Communication Technology, vol. 4, no. 403, pp. 128-138. ISSN 1868-4238.
  • PŘIKRYL Zdeněk. Fast Simulation of Pipeline in ASIP simulators. In: 15th International Workshop on Microprocessor Test and Verification. Austin: IEEE Computer Society, 2014, pp. 1-6. ISBN 978-0-7695-4000-9.
  • HUSÁR Adam, PŘIKRYL Zdeněk, DOLÍHAL Luděk, MASAŘÍK Karel and HRUŠKA Tomáš. ASIP Design with Automatic C/C++ Compiler Generation. Haifa, 2013.

Roddy Urquhart

Related Posts

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

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

10月 1, 2021
By Roddy Urquhart

RISC-Vは何の略?

3月 17, 2021
By Roddy Urquhart

RISC-Vとは?見逃すべきでない理由

9月 22, 2016
By Roddy Urquhart

RISC-Vとは?見逃すべきでない理由


9月 22, 2016

今まさに起きているRISC-V革命が半導体業界のビジネスのあり方を変えようとしています. しかし, RISC-Vが正しく理解されていないことも多いようです. RISC-Vはオープンソースのプロセッサではありません. ここでは「RISC-Vとは何なのか」という疑問への回答と, なぜコダシップがRISC-Vにこだわるのか, そしてあなたもそれを見逃すべきではない理由をお話ししたいと思います.

RISC-Vとは?

RISC-Vは, 命令セット・アーキテクチャ(ISA)のオープンな仕様です. つまり, Intel/AMDプロセッサのx86 ISAや最新ArmプロセッサのArmv8 ISAと同じように, ソフトウェアを実行するプロセッサとの対話手段です. RISC-Vのポジションは, 特定企業が権利を有するそれらISAと少し異なります. RISC-V ISAはオープンな仕様なので(商用とオープンソースのアーキテクチャ・ライセンスについては, 別のブログ記事で説明), 誰でもRISC-V ISAを使ったプロセッサを作ることができます. よく次の2つの質問をいただきます. 「RISC-Vはプロセッサなのか?」「RISC-Vはオープンソースのプロセッサなのか?」 RISC-VはISAの仕様を指し, プロセッサそのものでもなく, 実装されたソースコードでもありません. 先の2つの質問の答えは共に「No」であることがお分かりいただけましたでしょうか.

RISC-V VS. ARM OR INTEL/AMD?

お客様に製品を供給するベンダにとっては, 囲い込みの成功は喜ばしいことです. なぜならベンダが一度囲い込みしたお客様は, その後競合他社製品に変更することが非常に難しくなるからです. 囲い込みを成功させる最良の方法は「可もなく不可もない必要十分な製品」と, 「リッチなエコシステム」を作り上げることです. そうすれば一度囲い込まれたお客様は, リッチなエコシステムの導入に多くの投資をしてしまい, 抜け出すタイミングを逸し, 非常に長い間囲い込みされる結果となります. 競合する新興ベンダは成功するためにより良い製品を提供するだけでなく, 同等のリッチなエコシステムを構築しなければなりません. しかし, お客様が囲い込まれたソリューションと新しいソリューションがもたらすメリットを1対1で比較をすることは, 多くの場合難しいと思われます.

「IBMを買っても誰もクビにならない」という昔のことわざのように, 最近では「Armプロセッサを使っても誰もクビにならない」というのが通説になっています. しかし, これには負の側面もあります. もし, 企業が固有のソリューションを生かした差別化ビジネスを成し遂げられなければ, 進化は停滞して行きます. そして企業はお客様を満足させる必要十分だけの投資しかしなくなり, 衰退して行きます.

RISC-Vは, このような状況を変化させ始めています. なぜならRISC-V仕様をベースに共通化されたソフトウェア・エコシステムは, プロセッサ・ベンダが異なっても流用できるため, プロセッサ・ベンダには色々なアプリケーションに対する製品のメリットで競争することが自然と求められます. 結果, プロセッサ・ベンダ間の競争は激しくなり, 組込みプロセッサの技術革新の大幅な加速がもたらされ, お客様は「可もなく不可もない必要十分な製品」のクオリティで足踏みする必要がなくなります. また, 新しいプロセッサのベンチャー企業は, それぞれで固有の高価なエコシステムを構築する必要がないため, プロセッサ開発に集中できます. そして多くの新しい革新的なプロセッサ企業が登場することになります.

商用アーキテクチャ・ライセンスのデメリットは?

お客様にとっては何もデメリットはありません. でもプロセッサIPベンダにとって, 「可もなく不可もない必要十分な製品」ではもうビジネスできなくなるのです. コダシップのようなベンダは, お客様のニーズを満たし, それを上回る最高のソリューションを提供しなければお客様は簡単に新しいベンダに乗り換えてしまうでしょう. RISC-VはプロセッサIPのコモディティ化につながるというアナリストもいますが, 私たちは専門化とイノベーションにつながると考えています. RISC-Vは底辺の競争ではなく, むしろ付加価値をお客様が手にするチャンスとなるでしょう.

RISC-V ISAはオープンソース?

RISC-V仕様をはじめに作成した多くの学術機関, 特にUC-Berkleyの活動により, RISC-V ISA仕様の実装コアがオープンソースで多数公開されています. オープンな仕様でなければ不可能だった, さまざまな学術機関やオープンソースのSoCプロジェクトがすでに実現しています. しかし, より重要なのは, 民間企業が独自のRISC-Vプロセッサ実装を自由に設計できることです. これにより, お客様の選択肢はさらに広がります.

RISC-Vとアプリケーションに最適化されたプロセッサとコダシップの関係は?

RISC-Vはモジュラー化された拡張可能なISAセットです. これが意味することは, プロセッサは与えられたアプリケーションに対して, 最小限の命令セット, クリーンに定義された標準拡張, そしてカスタム拡張を実装できるのです. あるアプリケーションに必要な最小限の命令セットが実装されている限り, そのアプリケーションは互換性のあるプロセッサ上でも動作します.

これにより, アプリケーションに最適化されたプロセッサの最大の障壁の一つである, プロセッサ周辺の補助的なソフトウェアの開発に必要な労力が不要になります. このように, これまでDSP等で多用されてきたASIP(Application Specific Instruction-set Processor)の多くは, ソフトウェア開発環境が限定された深~い組み込み環境で使用されてきました. 共通のソフトウェア・エコシステムを持つということは, お客様がどのプロセッサにもアプリケーション拡張機能を自由に追加できることを意味し, デメリットなく, 改善点を活用することができます.

「多くのシステムにとって最適なプロセッサとは, その目的に合わせてチューニングされたものである」ブログ記事スケーラブルでないRISCアーキテクチャを拡張する方法をご覧ください.

RISC-V仕様の管理は?

この仕様はRISC-V Internationalによって維持されており, 会員にはソフトウェア, システム, 半導体, IPなど業界全体から(コダシップを含む)構成されています. 会員企業の焦点は, Arm社などに匹敵する, あるいはそれを上回るようなハードウェアとソフトウェアのリッチなエコシステムを構築することです.

RISC-Vの未来は?

残念ながら私は将来が見える水晶玉を持っていません. ただし長年半導体業界に携わってきて言えることは, プロセッサIPの競合他社も含めて様々な企業がこれほどまでに協力して, 新しい仕様に関心を持ち, その実現に向けて動いているのを見たことがない, という事実です.

RISC-Vは未来なのか?エンタープライズ・ソフトウェアの分野がオープン・スタンダードに基づいて構築できるようになった時(Linuxや他OSS等)と同じような, 爆発的なイノベーションと成長が見込めると私たちは期待しています.

「潮の満ち引きは, すべての船を持ち上げる」と言われるように, これからの数年間は非常にエキサイティングになることでしょう!

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

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

8月 12, 2021
By Roddy Urquhart