MCUとMPUの違い

STマイクロ技術者が語るMPU Q&Aハンドブックの初回(1)に、MCU(Micro Controller Unit)とMPU(Micro Processing Unit)の違いが判り易くまとめられています。ハンドブックは、MPU関連Q&Aへと連載が続いています。

このハンドブック(1)は、MPU開発者から見た、ハード/ソフトや開発環境が、MPUとMCUではどう違うかを解説しています。視点はMPUです。MPUとMCUの差を示すには十分ですが、MCUの特徴、その良さを示す記述は少なめです(MPU連載を読者に読んでもらうために当然ですが…)。

そこで、本ブログ主題のMCU側から(1)を読み、MCU製品開発ポイントと、最新MCU/MPU動向を示します。

MCUとMPUの根本差

ハンドブック(1)集約のMPU開発者がつまずき易い8つのポイントを再掲します。詳細は、(1)を参照ください。

  1. MPUと一緒に使う部品と選び方
  2. 回路設計時の重要ポイント
  3. 基板レイアウト作成時の重要ポイント
  4. 基板にあわせて必要なソフトウェアのカスタマイズ項目
  5. 初めてのボード開発での落とし穴と確認事項
  6. MCUとMPUのソフト開発の違い
  7. 知的財産を守るためのセキュリティ知識
  8. 開発製品のタイプ別課題と確認事項

これらつまずきの原因は、「MPUは、ユーザによる周辺ハードウェア追加、複数人によるソフトウェア開発が基本」だからです。MCUとMPUの根本的な違いがここです。

※周辺ハードウェアは、電源とクロックを除くMCU/MPU単独動作必須ハードウェア。例えば、ROM/RAMなど。

※MCU基板レイアウト、ソフトウェア重要ポイントは、コチラの投稿参照。

MCUとMPUのアプリ対応差

MCUとMPUの違い
MCUとMPUの違い

つまり、MPUは、例えば高性能Cortex-Aコアプロセサへ、外付けRAMや必要なDSP/GPU/NPUを追加し、複数ソフトウェア開発を容易にするRTOSアプリ開発に使います。アプリ要求性能に対して、追加ハード選択肢も多いため、柔軟性という意味では広範囲、かつ、大規模アプリの製品開発が容易です。

一方、MCUは、RAMやDSP/NPUなどアプリ開発に必要となる周辺ハードウェアが、例えばCortex-M33などのコアプロセサと一体でパッケージ済みです。一体パッケージのため、MPU比、アプリ柔軟性や対応製品範囲は狭くなります。

「MCUは、特定アプリに必要十分なROM/RAMや周辺ハードウェアを、ベンダがパッケージ化しユーザへ提供」するため、小型・低価格な製品化が可能です。MCUはRTOS利用もできますが、小規模ベアメタルソフトウェア開発が基本です。

MCUのポイントはMPU比、シンプルです。開発アプリに適すMCUを選択することです。

MCUとMPUの最新動向

MCU/MPUに限らずPCもネット側も全ての制御系は、AI半導体と、MCU/MPU担当のエッジAIアプリ実現に向けて突進中です。

ルネサスは、低消費電力と柔軟性を備えたAIアクセラレータ:DRP-AI3(Dynamically Reconfigurable Processor for AI)をMPU向けに開発し、従来比、約17倍のAI処理や電力効率(10TOPS/W)を実現しました。この技術は、MCUへも展開されるでしょう。

DRP-AI3 に適用した軽量化技術(出典:ホワイトペーパーDRP-AI3 アクセラレータの特徴)
DRP-AI3 に適用した軽量化技術(出典:ホワイトペーパーDRP-AI3 アクセラレータの特徴)

電力効率の良いCortexM0+/M4、セキュリティ強化Cortex-M33に加え、MCUは、DSPやAI/ML性能が高いARM Heliumテクノロジ搭載Cortex-M85搭載のRA8ファミリ量産出荷が始まりました。

Microchipは、従来外付けだったPLDやFPGAのカスタムロジックを、8ビットMCUに内蔵しました。これにより、製品の部品削減・小型・低消費電力化が可能になります。8ビットが気になりますが、低価格を目指したのだと思います。

PSoC/PRoCマイコンが上記Microchipに近い特徴を持つ。

Summary:MCU開発ポイントと最新技術動向

MCUは、開発アプリケーションに応じたROM/RAMや周辺ハードウェアを、MCUベンダがパッケージ化しユーザへ提供します。このため、MPU比、小型・低価格な製品開発ができます。半面、アプリケーション柔軟性や対応範囲は、狭くなります。

従って、MCU開発は、開発アプリケーションに適すMCU選択がポイントです。

MCU/MPUは、AI処理を高速化するNPU内蔵、従来外付けカスタムロジック内蔵、Cortex-M85コア採用など、更なる高性能・小型・低価格トレンドへ向けて進化中です。

最新MCU/MPUデバイス採用により、コストパフォーマンスの優れた製品開発が期待できます。

Afterword:ディアルコアのサブコアは通信処理専用

ディアルコアMCU/MPUのサブコアは、Cortex-M4/M0+利用の通信処理専用例が多いです。これは、いつ発生するか不明、しかも、割込み優先度も高い通信処理負荷を、アプリメイン処理と分離するためです。

DSPやGPUと同様、サブコアは、周辺ハードウェアの一種と捉えれば理解し易いでしょう。

ネットや外部デバイスとMCU/MPU間通信は必須です。通信処理専用サブコアでメインコアと分離しておけば、開発アプリはそのままに、様々な通信プロトコルへの対応性が高まるメリットがあります。


NTT Innovative Devices

2023年9月6日、IOWN光電融合技術の規格・設計・開発・製造・販売を行うデバイス製造新会社:NTT Innovative Devicesの記者会見がNTTブログに掲載されました。

新会社:NTT Innovative Devicesは、NTT研究所の光電融合部門と最先端光電子部品メーカ:NTTエレクトロニクスの2者を統合しました。

新会社NTT Innovative Devices(出展:記者会見記事)
新会社NTT Innovative Devices(出展:記者会見記事)

NTT Innovative Devicesは、光電融合デバイス市場をネットワークだけでなくコンピューティングへも広げること、そして次世代ネットワークの電力問題を解決するミッションを持ちます。

新会社NTT Innovative Devices

NTT Innovative Devices体制(出展:記者会見記事)
NTT Innovative Devices体制(出展:記者会見記事)

NTT Innovative Devicesは、光電融合デバイスの研究開発とデバイス製造、北米、欧州、ホンコンなど世界規模の販売が目標です。

会見で示された事業戦略も、実践的かつアグレッシブで、従来にない新しい研究・開発・製造・販売スタイルを持つ会社と言えます。

従来のNTTグループ企業とは異なる日本に固執しないビジネス展開が期待できそうです(関連投稿:日本固執Change)。

地球沸騰化の電力不足を救う光電融合デバイス

デジタル世界を支えるクラウドのデータ量がこのまま増え続けると、データセンター消費電力はさらに増加し、地球温暖化へ繋がります。参考資料:光電融合技術とは、2023年8月29日、NTTブログ。

国連グテーレス事務総長が示した危機感「地球沸騰化」は、絶対に避けなければなりません。

光電融合技術は、コンピュータやネットワーク内の電気処理と光処理を融合し、電力効率100倍、伝送容量125倍、エンドエンド遅延1/200が目標の革新的デバイス技術です(関連投稿:IOWN 1.0提供開始)。

IOWN特徴(出展:NTTサイト)
IOWN特徴(出展:NTTサイト)

Summary:低消費電力化はIoT MCUへも

個々の消費電力は僅かでも、世界中で莫大な投入数量が予想されるIoT MCU。

ネットワークによる電力不足や地球環境変化は、IoT MCU開発も影響を受ける可能性があります。MCU開発者は、処理効率だけでなく、低消費電力化を意識した開発も重要になりそうです。

コチラの投稿に、間欠的な無限ループ動作と空き時間SleepによりMCU消費電力を下げる基本動作を示しています。参考にしてください。

Afterword:今年の猛暑

今年の日本の夏は暑かった。未だ猛暑は続いていますが、異常気象は電力不足に直結します。

例えば、自動車排出ガス規制のように、地球規模のエネルギー危機は、我々MCU開発者へも低消費電力開発を義務化する動きに繋がるかもしれませんね。


パスワードとパスキー

パスワードからパスキーへ
パスワードからパスキーへ

最新Chrome 116は、パスワードマネジャーデザインが新しくなり、パスワードの保存と入力が容易になりました。そこで本稿では、「パスワード」と最近話題の「パスキー」の筆者現状理解を示します。

参考資料:
1. パスワードのない世界へのマイルストーン「パスキー」、2023年6月14日

2. AppleやGoogleが対応を進める「パスキー」とは、2023年8月7日

とにかくセキュリティ関連記事は、判り難いのでポイントを簡単にまとめました。

パスワード問題

どんなに複雑なパスワードでも、それを入力したのがユーザ本人かが確認できないこと、パスワードそのものがネットワーク上に流れ第3者が盗み見ることができること、この2点がパスワード問題。

パスキー解決策

パスワード問題解決のため、指紋認証などの本人確認機能を持つ端末(PC/スマホ)のログインにパスキーを使う。パスキーで本人認証後、ネットワークログイン時に送受する情報は、端末での本人認証結果と高度に暗号化された情報。これらは、第3者が盗み見ても本人成り済ましは不可能(に近い)。

パスキーは端末間の移行・同期可能

スマホ紛失やPC買換え時の利便性向上のため、アカウント名などのユーザ情報(クレデンシャル情報)をクラウドアカウントに紐づけることによりパスキー端末間同期が可能。現状対応クラウドは、Apple、Google、Microsoft。

クラウド利用により移行利便性も兼ね備えたパスキーは、パスワードに代わるログイン方法として有力。

パスキー運用ChatGPT回答

パスキー運用に関してEdgeのChatGPT(Bingチャット)でQ&Aを得ました。

Q1)パスキーを間違えたら?
A1)パスキーは、入力回数に制限あり。一定時間経過後、再入力可能。パスキーを忘れた時は、端末リセット必要。

Q2)複数端末で同じパスキーは使える?
A2)複数端末間で同じパスキーを使える。

Q3)パスキーを間違えてリセットした時の複数端末の影響?
A3)リセットは、その端末のみ。他の端末は影響なし。

つまり、複雑なパスワードの代りに、4桁または6桁のパスキーさえ覚えておけば、同じパスキーを複数端末で使ってもログインセキュリティは安心のようです。

Summary:パスワードからパスキーへ

クラウドアカウントを組み合わせたパスキーログイン方法
クラウドアカウントを組み合わせたパスキーログイン方法

例えパスワードマネジャーが使い易くなっても、パスワード自体の問題(本人未検証)解決にはなりません。

パスキーと本人認証端末、クラウドアカウントを組み合わせたパスキーログイン方式(本人検証結果+所持情報)は、パスワードレスアクセスとして期待できそうです。

Afterword:知識情報は4/6桁が限界?

パスキーが4/6桁なのは、指紋/顔認証などの本人検証が失敗した時の代替入力のためと思います。PC/スマホログインに指紋/顔認証が「先」で、認証失敗時にパスキー入力を「代り」に求めるからです。
スマホは、認証成功時でも定期的にパスキー入力を求め、パスキー知識情報を忘れないよう保全します。

個人が無理せず覚えられる数字は、この桁位でしょうか? IoT MCUデバイスなら桁数をもっと増やし、セキュリティレベルを上げることもできます。

パスキーの仕組みは、指紋/顔など変えようがない超重要認証データは端末のみに保存し、ネットワークログインは認証結果など漏れても支障が少ない情報で行うことでセキュリティを高く保つ、と筆者は理解しています。

但し、ネットワークログインは、当面使い慣れたパスワードも併用するでしょう。Chrome 116のパスワードマネジャーで、パスワード自体を強固にすることも必要です。



STM32 Developer Zone

STマイクロが、STM32 MCU/MPU開発者向け総合ポータルサイトSTM32 Developer Zoneを開設しました(2023年6月)。ベテラン/初心者ともに開発に役立つページリンクが多数集約されています。

ポータルサイトのリンク構成を解かり易くするため、フォルダ形式の一覧表示にしました。

STM32 MCU Developer Zone

STM32 MCU Zone (Home) MCUプロジェクトを開始
1-MCU製品ポートフォリオ
2-開発ボード&ハードウェアツール
3-ソフトウェア開発ツール
4-組込みソフトウェア
5-ソリューション
6-開発リソース
アプリケーション別ソリューション AIソリューション
ワイアレス&コネクティビティ
セキュリティフレームワーク
コミュニティ&サポート STコミュニティ
ナレッジ共有
パートナ設計サービス
オンラインサポート(要ログイン)

下図マイクロプロセッサ:MPU(STM32MP1/Cortex-A7+Cortex-M4)以外の全マイコン:MCU情報が、このSTM32 MCU Developer Zoneに集約されています。

STM32 MCUとMPU境界(出展:STM32C0シリーズセミナ資料に加筆)
STM32 MCUとMPU境界(出展:STM32C0シリーズセミナ資料に加筆)

MPUに比べ、AIソリューション等のアプリケーション別ソリューション情報も豊富です(関連投稿:AI MCU)。

また、初心者向きMCUプロジェクト開始リンクがあり、Step1で評価ボード選択、Step2でSTM32CubeIDEを使ったMCU開発手順の説明もあります。

STM32 MPU Developer Zone

STM32 MPU Zone (Home) MPU組込みソフトウェアツールの詳細
1-MPU製品ポートフォリオ
2-開発ボード&ハードウェアツール
3-組込みソフトウェア
4-ソフトウェア開発ツール
5-ソリューション
6-開発リソース
コミュニティ&サポート STコミュニティ
ナレッジ共有
パートナ設計サービス
オンラインサポート(要ログイン)

高度なHMIや複雑処理向けのCortex-A7搭載MPUは、現在STM32MP1シリーズだけです。従って、STM32 MPU Developer Zoneサイト構成は、MCU比シンプルです。

2023年第4四半期にこのSTM32MP1に加え、Cortex-A35、Cortex-M33搭載でセキュアIndustry 4.0、およびエッジ・コンピューティング・アプリケーション向けSTM32MP2シリーズが追加予定です。

ポータルサイトHTMLとリンク構成

ウェブサイトの図や文字、ハイパーリンクの表示には、HTMLが使われます。HTMLで記述したリンク集約ポータルサイトは、肝心のリンク構成が読者に解り難い欠点があります。モニタで一度に表示できる領域が限られるため、リンク構成は、読者がサイト全体を把握した後になるからです。

そこで、本稿は、誰でも見慣れたフォルダ形式で、STM32 MCU/MPU Developer Zoneのリンク構成を示しました。

ポータルサイトは随時更新されますが、リンク構成を把握していれば、常に所望最新リンクへのアクセスも容易です。

注)本稿は、2023年6月9日現在のリンク先を示しています。最新リンクへは、MCU/MPU Developer Zoneホームからアクセスしてください。

Afterword:European Chips Act(欧州半導体法)

欧州半導体法は、EU内の製造活動強化、欧州設計エコシステム刺激、バリューチェーン全体スケールアップとイノベーションを支援するもので、これによりEUは、世界市場シェアを2030年に20%倍増させるという目標を目指しています。

STマイクロとGlobalFoundriesは、2023年6月5日、フランス・クロルで両社共同運用の300mmウエハー工場新設計画の合意を締結と発表しました。総投資額は75億ユーロの見込みで、フランス政府が最大29億ユーロを援助します。

生産だけでなく、より開発し易いMCU/MPUへ向けたオランダ)STマイクロの活用、今後も注目が必要です。



1GHz 64ビットMPU量産開始

1GHz/64ビットMPU:RZ/A3UL評価ボード構成
1GHz/64ビットMPU:RZ/A3UL評価ボード構成

2022年8月ルネサスは、最大動作周波数1GHz 64ビットMPU、RZ/A3ULの量産を始めました。本プログメインカテゴリのMCU(マイコン)では無く、比較対称のMPU(マイクロプロセッサ)のことです。

より高度なHMI(Human Machine Interface)を実現するためRTOS(FreeRTOS/Azure RTOS)採用、RISC-Vコア搭載機RZ/Fiveとも互換性を持たせる作りです。肥大化するソフトウェア資産流用、活用に重点を置いています。

ところで、2022年8月9日ITmediaのPCとは何だったのか記事の最初のページには、PC(CPU)が16→32→64ビットへと変わった41年の歴史が、23回連載記事タイトルからも判ります(詳細は、連載記事参照)。

本稿で言いたいのは、MCU(マイコン)も近い将来GHzクラス高速化へ向かうだろうと言うことです。

MCU → IoT MCU

未だに8/16ビット機も現役のMCUは、CPU程の紆余曲折や派手さはありませんが、着実に高速・大容量化が進行中です。制御規模が小さく、スタンドアロン処理も可能なMCUなので8/16ビット機でも現役です。

しかし、時代はIoT、全ての制御対象がネットワークに繋がります。OTA(Over The Air)によりセキュリティ更新や、制御ソフトウェア変更もIoT MCUでは可能です。これら処理は、セキュリティライブラリや決まった更新手順で実施されます。

つまり、プリミティブなMCU制御から、よりアプリケーション寄り、場合によってはRTOS前提のIoT MCU制御へ変わらざるを得ない状況になりつつあります。自力でこれらを開発する猛者もいるでしょう。しかし、これらは、本来注力すべき開発差別化部分ではありません。

MCUハードウェア/ソフトウェアともに、市場獲得に向けて他社差別化を狙う部分と、IoTクラウド接続達成部分を、コストパフォーマンス高く共立する、これがIoT MCUの要件です。

CPU/MPU製造技術やソフトウェアのMCU転用は、過去、上記要件の解となってきました。大容量Flash内蔵が前提MCUと、外付けRAM前提CPU/MPUのハードウェア差はありますが、その転用速度は、今後更に早まると思います。

高度なHMIを体験すると元に戻れないように、MCU+クラウド→IoT MCUを顧客が体験すると、元のスタンドアロンMCUには戻れません。

ドライバ → 個別API → HAL API → マルチタスク

IoT MCUソフトウェア開発の変遷
IoT MCUソフトウェア開発の変遷

MCUソフトウェアも、40年前のドライバ開発、20年前のMCU個別API開発、10年前からはMCU共通HAL(Hardware Abstraction Layer) API開発へと変わりました。MCUソフトウェア資産化も、もはや夢ではありません。

開発部分がアプリケーション層に近づけば近づくほど、オーバーヘッドは増えます。オーバーヘッド増大や各種セキュリティライブラリなどの有効活用、RTOS利用によるマルチタスク開発には、IoT MCUの64ビット化、GHzクラス高速化も必然だと思います。

ビット幅増大は、各種巨大ライブラリ流用のためです。ここは32ビットでも十分かもしれません。しかし、高速化は、オーバーヘッド対策や、場合によってはMPU同程度の高度HMI処理、クラウドエッジでのAI処理など、IoT MCU機能実現には必須です。

製造業経済規模 → 縮小中の日本

我々開発者は、前章のIoT MCUソフトウェア開発の変遷を見ただけでもかなりの大変さ、自助努力が開発に必要であることを実感できます。

しかし、日本は、世界の先進国とは異なります。大変さや努力に対し報われることが期待できません。

日本が先進国で唯一、製造業の経済規模が縮小している国という記事や、労働者不足が、COVID-19のせいではないという記事を読むと、その理由と現状が判ります。

世界第2位から降下中の日本
世界第2位から降下中の日本

諸外国の真似をせよという気はありません。が、このままでは気が付けば、後進国になりかねないのが、今の日本です。

今こそ、日本開発者「個人」で変化に対応すべきです。少しずつでも、IoT MCUへ準備を始めませんか?

弊社NXP版FreeRTOSテンプレートは、FreeRTOSプロジェクトと同じ動作のベアメタルプロジェクトも添付済みです。アプリケーションレベルでRTOSとベアメタルを比較しながら技術習得が可能です。是非、ご活用ください。また、ST版Azure RTOSテンプレートも本年度中には開発予定です。

最後は、宣伝となってしまいました。すいません。

日本とアイルランドのIoT

北海道とアイルランド比較(出展:たび日和、アイルランドの面積ってどのぐらい?)
北海道とアイルランド比較(出展:たび日和、アイルランドの面積ってどのぐらい?)

2022年7月29日ZDNet Japan掲載、アイルランドIoT事情についての記事(前編後編)と、2022年8月1日MONOist掲載、調査結果からみる日本製造業将来と期待の記事を紹介、両国のIoT開発現状を比較します。

アイルランド

北海道 アイルランド共和国
面積 8万3,400㎡km 7万300㎡km
人口 530万人 492万人

日本と同じ島国で、面積、人口が北海道より少し小さいアイルランド共和国は、記事によると世界最大の情報通信技術(ICT)サービス輸出国です。

アイルランド国内総生産(GDP)は、世界トップ10にランク(Wikipedia)されます。

アイルランドIoT事情

ごく簡単に記事要旨をまとめます。

アイルランドは、IoTを「データ収集(Collect)」「接続(Connect)」「変換(Transform)」の3カテゴリに分類、さらに3カテゴリをまたぐ形で事業展開する企業をサポート、IoTサービス進化を現実化する研究施設もある。

「IoTビジネスに最適な国」を目指し、行政や大学などの研究機関を整備、世界各国から有力企業とノウハウを集積した結果、2022年経済成長率5.4%、2023年4.4%と予測される高い経済成長に繋がっている。

日本製造業の将来と期待

MONOist日本読者による製造業の将来と期待についてのアンケート結果が、3枚の図にまとめられています。

要旨を簡単にまとめます。

・先が読めないので予想し準備することは不可能。だから、変化に合わせた柔軟性が重要。
・リアル活動制限のコロナ禍、デジタル環境で様々な業務ができることが判明。
・日本製造業将来が明るい/暗い回答はほぼ同数で25%、残り50%はどちらとも言えない。
・AIやロボット、自動運転などの自動車分野、メタバース/ローコード技術に期待。
・日本モノづくりは、世界的に見ると特殊な立ち位置。

最後を除いては、日本に限らずどの国の企業、技術者でもさほど違わないと思います。違いは、日本の国家指針の無さ・見えなさ、変化に対するスピードの遅さだと思います。

海外比遅れる理由(出展:MONOist 15周年記念アンケートP7)
海外比遅れる理由(出展:MONOist 15周年記念アンケートP7)

まとめ:個人レベルは選択と集中

日本とアイルランドのIoT開発現状を比較しました。

関連分野が広く、しかも、各分野の奥行も深いIoTです。日本の開発者個人にとっては、アイルランドのIoT 3カテゴリ分類は、1つの「指針」になると思います。

例えば、IoTエッジMCU開発者ならば、先ずはデータ収集、次に無線/有線の接続、最後にAI向けのエッジデータ変換というように、アイルランドガテゴリに沿った技術区分と優先順位を付けることができます。

漠然とIoTを捉えるより区分と優先順位があれば、より集中、選択してIoT技術を習得できます。しかも、そのカテゴリ分けは、世界最大のIoTサービス提供実績があるアイルランドカテゴリに基づいているので、「世界的モノづくりへ通用」する可能性も高いです。

ガラバゴス技術の多い日本にいると、自身の技術がはたして世界で通用するかの不安は付きものです。

不安払拭のため、時には開発者個々人が、世界(今回はアイルランド)へと視野を広げ、自身の開発領域へフィードバックをかけ、「選択、集中した技術習得」が効果的なIoTだと思います。

IoT MCUとAI

ARM Cortex-Mコア利用のIoT MCU現状と、次のムーア則を牽引すると言われるAI(人工知能)の関係についてまとめました。

Cortex-Mコア、IoT/組込みデバイス主要ポジション堅持

ARMベースチップ累計出荷個数は1,800億個以上(出展:ニュースルーム、February 16, 2021)
ARMベースチップ累計出荷個数は1,800億個以上(出展:ニュースルーム、February 16, 2021)

2021年2月16日、英)ARM社は、ARMチップの2020年第4半期出荷が過去最高の67憶個、累計出荷個数1800憶個以上、Cortex-Mチップも4半期最高44憶個出荷で「IoT/組込みデバイス主要ポジション堅持」と発表しました(ニュースルーム)。

Cortex-Mチップの出荷内訳は不明ですが、Cortex-M4やCortex-M0+などコア別の特徴が解るARM社の解説は、コチラにあります(フィルタのProcessorファミリ>Cortex-Mを選択すると、提供中の全10種Cortex-Mコア解説が読めます)。

筆者は、セキュリティ強化コアCortex-M23/33/35P/55を除く汎用IoT/組込みデバイスでは、Cortex-M4/M0+コア使用数が急増していると思います。

関連投稿:Cortex-M33とCortex-M0+/M4の差分

半導体ムーア則、牽引はチップレット

ムーアの法則 次なるけん引役は「チップレット」、2021年2月16日、EE Times Japan

次のムーア則を牽引するAI処理能力(出典:AI Hardware Harder Than It Looks)
次のムーア則を牽引するAI処理能力(出典:AI Hardware Harder Than It Looks)

半導体製造プロセスを牽引してきたのは、PCやスマホでした。しかしこれからは、人工知能:AIで急増するAIデータ処理能力を実現するため、レゴブロックのようにコアの各モジュールを歩留まり良く製造・配線するチップレット手法が必要で、このチップレット、つまりAIが次の半導体ムーア則を牽引するというのが記事要旨です。

このチップレット手法で製造したIoT MCUやMPUへ、主にソフトウェアによるAI化は、シンギュラリティ後のAI処理量変化にも柔軟に対応できると思います。

関連投稿:今後30年の半導体市場予測

ルネサス:ハードウェアアクセラレータコアCNN(Convolutional Neural Network)

ルネサスのCNNアクセラレータ(出典:ニュースルーム)
ルネサスのCNNアクセラレータ(出典:ニュースルーム)

2021年2月17日、ルネサスは、世界最高レベルの高性能/電力効率を実現するディープラーニング性能を持つCNNアクセラレータコアを発表しました(ニュースルーム)。これは、主にハードウェアによるAI化の例です。

ADAS実現に向け、性能と消費電力を最適化した車載用コアです。このコアに前章のチップレット手法を使っているかは不明です。3個のCNNと2MB専用メモリの実装により、60.4TOPS(Tera Operations Per Second)処理能力と13.8TOPS/W電力効率を達成しています。

車載で実績を積めば、IoT MCUへも同様のハードウェアアクセラレータが搭載される可能性があります。

まとめ

凸版印刷社は、画像認識AIを活用し、古文書の“くずし字”を解読支援するツールを開発しました(2021年2月16日、IT media)。このように、AIは、半導体技術のムーア則だけでなく、IoT MCUアプリケーションや人間生活に浸透し、牽引しつつあります。

エッジAIをクラウド接続IoT MCUへ実装する理由は、クラウドAI処理とクラウド送信データ量の両方を軽減することが狙いです。AI処理をエッジ側とクラウド側で分担しないと、チップレット手法を用いて制御チップを製造できたとしても、コスト高騰無しに急増するAIビックデータ処理を実現することが不可能だからです。

IoT MCUのエッジAIが、ソフトウェアまたはハードウェアのどちらで処理されるかは判りませんが、必須であることは確実だと思います。実例を挙げると、STマイクロエレクトロニクスは、既にSTM32Cube.AIにより汎用STM32MCUへAI/機械学習ソフトウェアの実装が可能になっています。

IoT MCUの無線LAN

IoTに適した無線LANの条件とは?(TechTarget、2020年11月27日)記事を紹介し、IoT MCU関連のプライベート網無線LAN規格を説明します。

IoT向き無線LAN条件と規格

纏まった良い記事なので、一読をお勧めします。

記事を要約すると、IoT向きの無線LANの選定には、3つの検討ポイントがあります。

  1. 省電力性:バッテリーだけで長時間無線LAN通信ができる
  2. 長距離伝送性:アクセスポイント(AP)から1km以上離れる場合がある
  3. 国より異なる利用周波数の空き状態確認

各ポイントを満たす無線LAN規格として下記3つを挙げ特徴を説明しています。

  • IEEE 802.11ah(別名Wi-Fi HaLow):Target Wake Time(TWT)により通信タイミングを調整しAP通信競合を防ぐと同時にスケジュールタイムまでスリープし電力消費を抑える
  • IEEE 802.11ba:TWTに加えWake-Up Radio省電力機能を利用しAPからの通信要求に対応
  • IEEE 802.11af: 54MHz~698MHz利用で900MHz~1GHzの802.11ah/802.11baより長距離伝送可能
    ※11afは、テレビ用ホワイトスペースのVHF/UHFバンド(54 MHz~790 MHz)利用なので空き状態により耐ノイズ注意

IoT向き無線LANとBluetooth

無線LANには、2.4GHz利用、数m~10m程度の「近距離無線通信規格」:IEEE 802.15.1(別名Bluetooth)もあります。コイン電池で1年以上動作できるなど超省電力動作ですが、低速です。PCやスマートフォンでは、マウス/キーボード/ヘッドホンなどの周辺機器との接続に使われます。

より高速、より長距離(400m程度)、より高スループットを目指し、Bluetooth v4.2、Bluetooth 5などと規格が変化しています。

IoT MCUへの実装は、Bluetooth 5内蔵MCUBluetooth 5モジュールとMCUを接続する方法があります。

IoT 向き無線LANとPC/スマホ向き無線LAN

2020年12月時点のPC/スマートフォン無線LAN規格が下表です(出展:NTT西日本公式ホームページ)。

規格 周波数帯 最大通信速度
IEEE 802.11b 2.4GHz 11Mbps
IEEE 802.11g 2.4GHz 54Mbps
­­­­IEEE 802.11a 5GHz 54Mbps
IEEE 802.11n 2.4GHz 600Mbps
5GHz
IEEE 802.11ac 5GHz 6.9Gbps
IEEE 802.11ad(WiGig) 60GHz 6.8Gbps
IEEE 802.11ax 2.4GHz 9.6Gbps
5GHz

IoT向き無線LANと異なるのは、周波数帯がより高周波の2.4GHz/5GHzを利用する点と、新規格11ac/11ad/11ax、従来規格11b/11g/11a/11n、ともにデータ伝送速度が速い点です。スマホのAPは、家庭や店舗に設置された無線LANルータで、高周波利用のため伝送距離は精々100m程度、60GHzの11adでは10m程度です。公衆網5G高速化に伴い新無線LAN規格:11ac/11ad/11axが普及しつつあります。

動画再生などの利用形態も多いPC/スマホ向き無線LANは、「高速大容量化」が求められます。IoTの「長距離省電力」要求とは、異なる無線LAN規格となっています。

まとめ:IoT MCUプライベート網の無線LAN規格

無線LANアクセスポイントからの伝送距離変化
無線LANアクセスポイントからの伝送距離変化

プライベート網無線LAN規格は、APからの伝送距離により、

  1. 「近距離(10m以下)超省電力」規格(周辺機器向き):Bluetooth(IEEE 802.15.1)
  2. 「短距離(100m程度)高速大容量」規格(PC/スマホ向き):IEEE 802.11a/11b/11g/11n/11ac/WiGig(11ad)/11ax
  3. 「長距離(1km以上)省電力」規格(IoT向き):Wi-Fi HaLow (IEEE 802.11ah)/11.af/11.ba

の3種類があります。

IoT MCUには、最新のBluetooth 5や屋外や1km半径の広い敷地内でも使える長距離省電力規格のWi-Fi HaLowが望まれるようです。

但し、普及済みのPC/スマホ向き無線LAN規格が使えると、屋内の既存PC/スマホ無線LANルータをインターネット空間へのAPに利用でき、常時電力供給も可能なため、低コストIoT MCUを実現する方法になりうると思います。


IoT MCUコア次世代像

PCのCPUは、IntelとAMDの2社が独占状態でした。しかし、AppleがARMベースの新CPU:M1を発表し、そのコストパフォーマンスは、Intel/AMDの3倍(!)とも言われます(記事:「ソフト技術者もうなるApple「M1」の実力、新アプリに道」や、「Apple M1の実力を新世代のIntel/AMD CPUと比較」など)。

本稿は、これらPC CPUコアの現状から、次世代IoT MCUコアの3層構造と筆者希望的観測を示します。

CPUコア:Apple/Intel/AMD

筆者が学生だった頃は、マシン語のPCソフトウェアもありました。CPUコア性能が低いため、ユーザ要求を満たすアプリケーション開発には、ソフトウェア流用性や開発性を無視したマシン語開発もやむを得ない状況でした。

現在のCPUコア性能は、重たいGUIやネットワーク処理を複数こなしても、ユーザ要求を満たし、かつ流用性も高いC/C++などの高級言語でのアプリケーション開発が普通です。Appleは、この状況でIntel/AMDコストパフォーマンス比3倍のM1 CPUを開発しました。

このM1 CPUを使えば、従来CPUのボトルネックが解消できるために、より優れたGUIや新しいアプリケーションの開発が期待できます。

このM1実現の鍵は、5nmルールの製造技術と新しいCPU設計にあるようです。

MCUコア:ARM/Non ARM

MCUはARMコアとNon ARMコアがありますが、Non ARMコアのコストパフォーマンス比は、M1程ではありません。従って、主流はARM Cortex-M系シングルコア採用MCUで、事実上ARMコア独占状態です。開発言語はC言語でベアメタル開発、製造プロセスも数10nmと、いわば、数10年前のIntel独占CPUコアに近い状況です。

RISC-Vという新しいMCUコアも出てきましたが、まだ少数派でその性能も未知数です。Intel/AMD CPUと比較記事の最後に記載された「競争こそユーザの利益」には、MCU世界はなっていません。

ARMはコア設計図のみ提供し、デバイス実装はMCUベンダが担当します。従って、現状のMCU世界が続く場合には、MCU高速化は製造技術進化とマルチコア化が鍵です。

ARMは、エッジAIに向けたNPUを発表しました。独自MCUコアと付随する開発環境を提供でき、かつコストパフォーマンスがARMコアの数倍を実現できるMCUベンダが無い現状では、ARMの頑張りがIoT MCUを牽引すると思います。

NVIDIAによるARM買収が、今後のARM動向に及ぼす影響は気になる状況ではあります。

IoT MCUコア

MCUコアとCPUコアの一番の差は、ユーザ要求コストです。これは、同じコアのMCU製品に、内蔵周辺回路やFlash/RAM容量の異なる多くのデバイスをベンダが提供中であることからも解ります。ユーザは、MCUに対して無駄なコストは払いたくないのです。

つまり、MCUデバイスはアプリケーション専用製品、CPUデバイスは超汎用製品、ここが分岐点です。

IoT MCUには、エッジAI、セキュリティ、無線通信(5GやWi-Fi)などのIoT機能追加が必要です。これら機能を並列動作させる手段として、RTOSも期待されています。この状況対応に、MCUコアも高性能化やマルチコア化に進化しつつあります。

セキュリティや無線通信は、予め決まった仕様があり、これら対応の専用ライブラリがベンダより提供されます。但し、セキュリティは、コストに見合った様々なセキュリティレベルがあるのも特徴です。ソフトウェア技術者は、専用ライブラリのMCU実装には神経を使いますが、ライブラリ本体の変更などは求められません。この仕様が決まった部分を「IoT基本機能」と本稿では呼びます。

MCUソフトウェア開発者が注力すべきは、ユーザ要求に応じて開発するIoTアプリケーション部分です。この部分を、「IoT付加機能」と呼び、「IoT基本機能」と分けて考えます。

ユーザのアプリケーション専用MCU製品意識は、IoT MCUでも変わりません。例えば、IoT基本機能の無線機能は不要や、ユーザがコストに応じて取捨選択できるセキュリティレベルなどのIoT MCU製品構成になると思います。一方、IoT付加機能だけを実装するなら、現状のMCUでも実現可能です。

以上のことから、IoT MCUは3層構造になると思います。

IoT MCUコアの3層構造
IoT MCUコアの3層構造
機能 追記
Back End IoT MCU IoT基本機能+付加機能+分析結果表示 収集データ分析結果ビジュアル表示
IoT MCU IoT基本機能+付加機能 高性能、マルチコア、RTOS利用
Front End IoT MCU センサデータ収集などのIoT付加機能
最小限セキュリティ対策
収集データは上層へ有線送信
コスト最重視

最下層は、ユーザ要求アプリケーションを実装し、主にセンサからのデータを収集するFront End IoT MCUです。ここは、現状のARM/Non ARMコアMCUでも実現できIoT付加機能を実装する層です。デバイスコスト最重視なので、最小限のセキュリティ対策と収集データを有線、または無線モジュールなど経由で上位IoT MCUへ送信します。IoT MCUサブセット版になる可能性もあります。

中間層は、高度なセキュリティと市場に応じた無線通信、エッジAI機能などのIoT基本機能がフル実装できる高性能MCUコアやマルチコア、RTOS利用へ進化した層です。IoT付加機能も同時実装可能で、下層の複数Front End IoT MCUが収集したセンサデータを、まとめて上位Back End IoT MCUまたは、インターネット空間へ直接送信できます。製造技術進化とマルチコア化、ARM新コア(Cortex-M23/33/55など)が寄与し、IoT MCUの中心デバイスです。

最上層は、第2層のIoT MCU機能に加え、インターネット空間で収集データを分析・活用した結果をユーザへビジュアル表示する機能を追加した超高性能MCUコア活用層です。自動車のADAS(Advanced Driver-Assistance Systems:先進運転支援システム)のおかげでユーザへのビジュアル表示要求はより高度になります。このユーザ要求を満たす次世代の超高性能IoT MCU(またはMPU)が実現します。

最下層のFront End IoT MCUは、現状のCortex-M0+/M4コアで弊社テンプレート適用のMCUが生き残ってほしい、というのが筆者の希望的観測です。
それにしてもAppleのコスパ3倍M1、凄いです。iPhoneもそうですが、抜きん出た技術と経営能力、Jobs精神、健在ですね。

MCUセキュリティ話題

MCU開発中、進捗が詰まることはだれでもあります。そんな時にスタックした気分を変えるMCUセキュリティ関連話題を投稿します。

MCU開発には集中力が必要ですが、その持続は、精々数時間です。人のスタック深さは有限ですので、開発を経過時間で区切るのが1つ、別方法として集中気分を切替て開発詰まりを乗切る時の話題を示します。

気分転換が目的ですので、硬い話ではありません😁。

セキュリティ更新終了

Microsoftが、Office 2010は今年2020年10月13日、Windows 10バージョン1903は2020年12月8日にサポートを終了します。これらソフトウェアご利用中の方は、新ソフトウェアへの入替が必要です。

サポート終了とは、「セキュリティ更新プログラム配布終了」のことです。ソフトウェア自体がPCで使えなくなる訳ではありません。しかし、ハッカーなどによる新たなサイバー攻撃を防ぐ手段が無くなりますので、安全・安心な利用ができなくなります。

ところで、安全・安心の根拠、セキュリティ、セーフティ、セキュア…などの日本語は、あいまいに使われます。しかし、英語の「SecurityとSafetyは別物」です。

オンラインセミナー:STマイクロエレクトロニクスのTrustZone対応マイコンによるIoTセキュリティによると、

  • Security:外部からの危害(攻撃や改竄)から、MCU内部が保護されている状態
  • Safety:MCU誤動作や故障などが原因で、MCU外部へ衝突や爆発などの危害を与えない状態

英語でのSecurityとSafetyの使い分けは、対象がMCU内部ならSecurity、MCU外部ならSafetyと、明確な区別があります。

MCUセキュリティ関連資料を英語で読むときは、対象は単語で解ります。日本語訳資料を読むときは、対象がMCU内部か外部かを区別して理解する必要があります。

IoT機器侵入調査

総務省、IoT機器に侵入を試みる際のIDとパスワードの組み合わせを、従来の100通りから600通りに増やし、侵入できたIoT機器所有ユーザへ対策を呼び掛けた。2020年9月11日、ITmedia。

つまり、ハッカーの代わりに総務省)国立研究開発法人情報通信研究機構(NICT)が、NOTICE:National Operation Towards IoT Clean Environmentに参加しているISP 62社のIPアドレスに対して、疑似攻撃をしかけ、問題があったIPアドレスユーザへ注意を促した、ということです。

過去のサイバー攻撃にあったIDとパスワードにたまたまなっていた場合、たとえ厳重な管理であっても安全でない(!Security)訳です。IoT機器のアクセス方式、「IDとパスワード」には、限界があるかもしれません。

多要素承認

金融庁、銀行・決済各社に本人確認の徹底を要請。2020年9月16日、ITmedia。

ハッカーによるドコモ口座の不正利用が、多要素認証で防げるのかについてのセキュリティ専門家解説は、筆者には正直言って判りません。

多要素認証とは、セキュリティ情報アクセス時、スマホなどの本人しか持たないモバイルデバイスへ送った認証コードなどを使ってログインする仕組みです。「パスワードレスログイン」とも言われます。

海外ドラマでは、スマホの乗っ取りも簡単です。モバイルデバイスの2要素認証コード入力で十分なのでしょうか? スマホを持たない人は、決済サービスを利用できない、またはさらに生体認証が必要なのでしょうか?

この多要素認証をMCUへ実装する場合、どうすれば良いのでしょうか?

暗号化脆弱性

TLS 1.2とそれ以前に脆弱性、2020年9月16日、マイナビニュース。

ブラウザ経由でクレジットカード番号を送る時、通信データを暗号化し盗聴を防ぐしくみが、TLS:Transport Layer Securityです。このTLS 1.2に脆弱性が見つかり、TLS 1.3を使うなどの対策が示されています。

MCUで以前は問題無かった暗号化技術にこのような対策を実施するには、組込み済みソフトウェア、またはハードウェアの一部更新が必要です。

暗号化部品が壊れた、または脆弱性発見時、対象部品のみ交換できるMCU機器があれば良いのですが…。

デジタル後進国

“デジタル後進国”で検索すると、「日本はデジタル、IT後進国」だという記事概要が多く見つかります。

セキュリティ用語の区別もあいまいなままの日本です。先進国開発済みのMCUセキュリティ技術を、理解不足のまま流用しても当面は良いのでしょうが…、セキュリティとあいまい性、本質的に相反する気がします。
ハッカーの攻撃は、あいまい性で生じるMCUセキュリティのすきまを狙うのですから。

MCUセキュリティに関しては、何事にもあいまい性が好まれ日本不得意な「明確さ」、これが必須だと思います。

*  *  *

MCU開発時、スタック気分を変える時に役立つMCUセキュリティ関連話題を5つ投稿しました。

IDとパスワードで保護するMCUセキュリティ
IDとパスワードで保護するMCUセキュリティ