本初心者講座は、ルネサスエレクトロニクス社(以降、ルネサス)のArm® Cortex®-Aプロセッサ搭載マイクロプロセッサ RZファミリを初めて使うエンジニア向けの「Cortex-A|RZファミリ編」です。(注意:本講座では、マイクロプロセッサをプロセッサと称して説明いたします)
本初心者講座のゴールは次の3つです。
- マイコンとマイクロプロセッサ・RZファミリの違いを習得する。
- マイクロプロセッサ・RZファミリの機能と性能を理解する。
- マイクロプロセッサ・RZファミリの使い方を理解する。
本講座は次の5回シリーズの連載で構成されます。
第1回:RZ/Aシリーズから始めよう!
第2回:RZ(プロセッサ)とマイコンの違い
第3回:マイコンユーザーがRZファミリに移行する手法
第4回:マイコンとプロセッサの垣根を超える
第5回:RZファミリの紹介
今回は、第1回の「RZ/Aシリーズから始めよう!」です。
すでにマイコンを使われていて、プロセッサに移行したい方や、最初からプロセッサを使いたい方が、容易にプロセッサの世界に入れるように、最初に扱うプロセッサとして最適な RZ/Aシリーズを紹介します。
課題
1. マイコン・RAファミリとプロセッサ・RZファミリの位置付けを学ぶ。
ルネサスはマイコンとして RAファミリを提供し、更にプロセッサとしてRZファミリを提供しています。どちらのファミリもArm Cortexプロセッサが搭載されていますが、使い方や用途が異なります。最初に、この2つのファミリの位置付けを学習します。
2. プロセッサ・RZファミリの機能、性能、アプリケーションについて学ぶ。
コアにArm Cortex-Aプロセッサを搭載し、周辺機能にはルネサス独自のテクノロジを備えているRZファミリの機能、性能、アプリケーションなどについて学習します。
3. プロセッサ・RZファミリの特長を学ぶ。
ルネサスのRZファミリの特長について、マイコンに準ずる使いやすさの観点から学習します。
RAファミリとRZファミリの位置付け
ルネサスは、マイコン製品としてArm Cortex-Mプロセッサコア(以降、Cortex-M)搭載のRAファミリを提供し、これに加えプロセッサ製品としてArm Cortex-R/Aプロセッサコア(以降、Cortex-R/A)搭載のRZファミリを提供しています。
一般的に、マイコンは家電品、産業機器、健康機器、玩具など様々な電化製品に汎用的に使われるため、汎用マイコンと呼ばれています。一方、プロセッサは、マイコンと比べると比較的高機能なアプリケーション、例えばIoT Edge、セキュリティシステム、AI(Artificial Intelligence)、HMI(Human Machine Interface)などに使われます。そのため、プロセッサを、汎用マイコンに対してアプリケーションプロセッサと呼ぶことがあります。
そこで、ルネサスの汎用マイコンのRAファミリとアプリケーションプロセッサのRZファミリを比較してみます。横軸に、機能、縦軸にプラットフォームとして、マッピングしてみると、図1のようになります。機能的にはRZファミリがRAファミリよりも高機能ですので、RAファミリが左側、RZファミリが右側に位置します。
汎用マイコンとアプリケーションプロセッサでは、アーキテクチャやメモリ管理の使い方が異なるので、あたかも境界が存在するように見えます。しかし、ルネサスでは、この2つのファミリの橋渡しとなるマイコンとして、Arm Cortex-M85プロセッサコア(以降、Cortex-M85)搭載のRA8を提供しています。
RA8に搭載されているCortex-M85は、アーキテクチャがCortex-Rプロセッサに準じたスーパースカラアーキテクチャです。一方で、メモリ管理はCortex-A/Rで使用されているメモリ管理ユニット(以降、MMU:Memory Management Unit)ではなく、Cortex-Mプロセッサと同じMPU(Memory Protection Unit)を使います。そのため、RA8は、性能パフォーマンスがプロセッサクラスにも関わらず、メモリ管理の方法は簡単で、汎用マイコンと同じ扱いになります。
汎用マイコンユーザーが、新製品の性能を上げるために、コアをアプリケーションプロセッサにアップグレードする場合や、逆にアプリケーションプロセッサユーザーが、性能よりもコスト優先の新製品を開発するため、コアを汎用マイコンにダウングレードする場合にも、RA8はその仲介的な役割を果たします。
このように、ルネサスの製品群はマイコンとプロセッサの垣根を容易に超えることができるボーダーレスな製品ロードマップを提供して、ユーザーの製品展開に柔軟に対応できるようになっています。
RZファミリ
RZファミリのコンセプトは2つあります。
①汎用プロセッサ
②ビジョンAIプロセッサ (AIアクセラレータ)
汎用プロセッサとしてはRZ/GシリーズとRZ/Aシリーズ、さらにRZ/TシリーズとRZ/Nシリーズが挙げられます。産業機器やビルオートメーション、セキュリティパネル、POS(Point Of Sales)、ドアホンなどのHMI/ディスプレイシステムで使われたり、ネットワークゲートウェイやEdgeサーバなどのIoT Edge分野、高精度のリアルタイムモータードライブ制御や産業用イーサネットのReal Time分野などに汎用的に使われたりします。
一方で、ビジョンAIプロセッサには、RZ/Vシリーズが挙げられます。ビジョンAIアクセラレータを搭載し、産業用ビジョンシステムや監視カメラ、セキュリティーゲートなどの画像認識に使われます。
RZファミリは大きく分けると5シリーズが提供されています。RZ/Vシリーズ、RZ/Gシリーズ、RZ/Aシリーズ、RZ/Tシリーズ、RZ/Nシリーズです。表1に示すように、それぞれのシリーズには、各々特徴があり、動作周波数、周辺機能などで様々なアプリ―ケーションに使い分けることができます。
この表で、真ん中に位置するRZ/Aシリーズは、RZファミリの中で標準的なプロセッサです。動作速度は1.0GHzで一般的なアプリケーション向けとしては十分な速度です。CPUは32ビットと64ビットが揃っています。なによりも大容量のRAMを内蔵している点が大きな特長です。通常、マイコンにはRAMが内蔵されていますが、プロセッサには内蔵されていないため、外付けRAM(DRAMなど)が必要になります。その場合、外部RAM本体以外にも外部RAM用の電源やバスインタフェースが必要になります。しかし、RZ/Aシリーズではそのようなハードウェアは必要なく、マイコンにおける内蔵RAMの使い方と同じ手順で、RAMにアクセスすることができます。この点は、マイコンからRZファミリに移行するユーザーには非常にありがたい仕様です。
また、最初からプロセッサを使うユーザーにも、動作周波数や周辺機能は多彩なアプリケーションに適用できる性能と機能が備えられています。
RZ/Aシリーズのポジショニング
RZ/Aシリーズは、リアルタイム性/高速起動に優れたRTOS(Real Time OS)ベースのプロセッサです。第1世代はSRAM内蔵タイプのRZ/A1グループ、第2世代は高速動作のRZ/A2Mグループ、第3世代は、外付けRAMタイプのR/A3ULグループです。
RZ/A1グループは、400MHz動作のCortex-A9をコアとし、RAMは最大10MB内蔵しています。RZ/A2Mグループは、さらに高速になり538MHz動作のCortex-A9をコアとし、周辺機能としてAI用のDRP、カメラ用のMIPIを搭載しています。
RZ/A3ULグループの最大の特徴は外付けRAMです。1.6Gbps DDR3L/4 x 16bit で最大4GBが接続可能です。コアは1GHzのCortex-A55でRZ/Aシリーズの中で最高速です。そのため、グラフィックスおよび高負荷アプリケーションを迅速に処理できます。周辺機能に通信速度が200MbpsのOctaインタフェースを搭載しているのも大きな特長です。
表2にRZ/Aシリーズの機能一覧を示します。
マイコンの使いやすさを踏襲したプロセッサ
「マイコンの使いやすさ」とは、具体的に何でしょうか?
最初に一般的なマイコンとプロセッサの違いを簡単に説明して、「使いやすさ」とは何かを説明します。そして、RZ/Aシリーズは具体的に何が使いやすいのかを解説します。
マイコンとプロセッサの違い
図4にマイコンのシステム構成とプロセッサのシステム構成の概念図を示します。マイコンにはフラッシュ・メモリやSRAMが内蔵されています。しかし、一般的なプロセッサには内蔵されていません。そのため外部に外付けフラッシュ・メモリと外付けRAM(DRAMなど)が必要です。マイコンでも、プログラムコード領域やSRAM領域を増やしたい場合には、外付けメモリを追加しますが、基本的には必要ありません。さらに、プロセッサでは、これらのメモリを管理するMMUが必要です。MMUはプロセッサに内蔵されていて、ユーザーによって制御されます。
また、マイコンのシステムでは、基本的にマイコン用の電源だけ必要ですが、プロセッサでは外付けフラッシュ・メモリ用、外付けRAM(DRAMなど)用とプロセッサ用の3電源を準備する必要があります。
一方、開発環境ですが、マイコンの統合開発環境ソフトウェアは通常Windows®上で動作します。しかし、プロセッサの場合はLinux®が一般的です。
図4を見ると一目瞭然ですが、様々な点でマイコンの方が、取り扱いが楽だと言えます。
次に、RZ/Aシリーズでは具体的に何が使いやすいのかを解説します。
外付け部品の削減他
(1)大容量内蔵RAMソリューション
RZ/A1シリーズには最大で10MBのSRAMが内蔵されています。プロセッサに大容量のSRAMを内蔵すると、外付けのRAM(DRAMなど)が不要になります。さらに外付けRAM(DRAMなど)用の電源も不要になります。
ところが、利点はそれだけではありません。部品点数が減りますのでシステム全体の消費電力が減ります。そして、部品の実装面積が節約できるため、プリント基板の層数を減らしたり、サイズを小さくしたりすることができます。プリント基板が小さくなると、配線パターンも短くなり、輻射ノイズも低減できます。さらに、外付けRAMの調達を心配する必要がなくなります。そして、システム開発と信頼性設計がシンプルになります。
詳細は次回以降の講座で説明しますが、まとめると次のような利点が挙げられます。
- BOM(Bill Of Materials)コスト削減
- 消費電力削減
- 実装面積削減
- 輻射ノイズ削減
- 起動時間高速化
- 設計のシンプル化
- 品質対応容易
- 入手性容易
- 長期調達問題解決
一方で、大容量内蔵RAMの間接的なメリットとして、グラフィックス性能の向上が挙げられます。内蔵SRAMをフレームバッファとして使えるので、大量のグラフィックスデータが外部バスを通らなくてすみます。そのため、バス負荷が低減し、表示速度が向上(遅延が低減)されます。
(2)マルチレイヤバス
RZ/Aシリーズでは、大容量内蔵RAM に加え、内部のグラフィックスバスにマルチレイヤ方式を採用しています。さらに、VDC(Video Display Controller)を搭載しています。
大容量RAMに保存されているそれぞれの画像はマルチレイヤバスで、それぞれのレイヤで読み出され、VDCに読み込まれます。VDCは読み込んだ画像をLCD(Liquid Crystal Display)に出力します。逆に、カメラから取り込まれた映像データはVDC経由で、大容量RAMに保存されます。これらの処理はCPUからの指示がなくても自動で行われます。
開発環境
(1)統合開発ツール
案外Windowsユーザーにとって、Linuxは馴染みがなく、初めて使う時のハードルが高いものです。マイコンの開発環境はWindows上で動作するものが多く、製品によっては動作環境にWindowsを指定しているものもあります。そのため、マイコンユーザーがプロセッサに移行する際にLinuxが支障になる場合が少なくありません。
ところが、RZ/Aシリーズの開発環境はWindows上で動作でき、さらにルネサスマイコン(RAファミリ、RXファミリ、RL78ファミリなど)で使われているルネサス独自の統合開発ツールのe2studioが使用できます。
すなわち、ルネサスマイコンユーザーは開発環境をそのまま(Windows+e2studio)で、RZ/Aシリーズに移行することができます。
e2studioは、すべての開発プロセスを支援します。コード編集、サンプルコードのダウンロードからデバッグまで、すべての開発プロセスをe2studioで実行できます。
基本的なデバッグ機能であるレジスタビューやメモリービューに加え、メモリ使用量ビューやプロセッサ特有のMMUビューなど豊富な機能を備え、お客様の開発効率向上を支援します。
RZ/Aシリーズでは、スマート・コンフィグレータも使用可能です。スマート・コンフィグレータは、開発効率を向上させるための5つの機能(クロック設定、メモリマップ設定、コンポーネント設定、端子設定、コード生成)を備えており、GUI (Graphical User Interface)を介して、ユーザーのシステムへのドライバの組み込みを容易にします。
(2)ソフトウェア
RZ/Aシリーズで提供しているソフトウェアパッケージも、ルネサスマイコンのように豊富で使いやすいものが提供されています。一例として、図10にRZ/A1H & RZ/A1LUシリーズのソフトウェアパッケージを示します。ここにはユーザーの開発期間を短縮する各種ドライバサンプル、及びターゲットアプリが揃っています。
(3)ライブラリ
RZ/Aシリーズでは、ソフトウェアパッケージに加え、ソフトウェアライブラリも提供しています。一例として、図11にRZ/A2Mに搭載されているDRP(Dynamically Reconfigurable Processor:動的再構成プロセッサ)用のライブラリを示します。
DRPは、ハードウェア(演算回路)の構成を動的に変更することができるIPです。C言語ベースの高位合成ツールと、それを効率よく実行するプログラマブル・ハードウェアによって実現されたルネサス独自のAIアクセラレータです。ソフトウェアの柔軟性とハードウェアの性能を併せ持っていますので、DRPにより画像・推論処理用CPU向けのDRP搭載ハイブリッドAIソリューションを実現することできます。
「第1回:RZ/Aシリーズから始めよう!」は、以上です。次回の「第2回:RZ(プロセッサ)とマイコンの違い」では、「ルネサスマイコンから、プロセッサRZへ移行する」、逆に「プロセッサRZからルネサスマイコンへ移行する」を前提にして、マイコンとプロセッサの違いを深堀します。