現時点では、Cortex-M33コアからCustom InstructionへのI/Fがどんなものか? といった情報はまだ無いのだが、概念的には図11みたいな形になるかと思う。
これはSiFiveのRISC-VベースのコアのCustom Instruction(SCIE)の構成だが、要するにコア部から命令とパラメータを渡し、結果を受け取るという仕組みである。SCIEの実装も、上で説明したCustom Instructionと似た条件(ただしレイテンシは2サイクルまでに制限されている)になっているし、さらに言えばMIPS ASEs(Application Specific Extensions)というカスタム命令拡張もほぼ同じである。要するに実装としてはごく当たり前ものになると思われる。
ところで冒頭の話に戻ると、なぜArmは今Custom Instructionの対応を行ったか。これについてはもちろんシガース氏とかは「ユーザーメリットにつながるから」という建前は崩さないが、エンセルグエイ氏との質疑応答の中で「早く提供しないとRISC-Vにやられちゃうから」という返事を頂いた。要するに、こちらの記事※)と同じ話である。
※)関連記事:ARMの“後払い”ライセンスに見え隠れするRISC-Vの興隆
RISC-Vと言っても実際は非常に多くのベンダーがそこに参画しており、当然IPの提供形態はまちまちであるが、RISC-Vの盟主といっても良いSiFiveは当初からサブスクリプションベースのライセンスを提供しており、Armの「Flexible Access License」はまさにこれに真っ向勝負を掛けている形になっている。そして今回のCustom Instructionも、RISC-Vが当初から用意していた(何しろ基本命令セットの中に、Custom Instruction用のフィールドが当初から用意されている)もので、Armに対するRISC-Vのメリットの1つとされていたものだ。
要するにRISC-Vとの徹底抗戦を最後までやり抜く、という強い意志の表れの1つが、Custom Instructionといえるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.