検索
連載

マルチコアマイコンとシングルコアマイコンの違いQ&Aで学ぶマイコン講座(54)(2/4 ページ)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。54回目は、中級者の方からよく質問される「マルチコアマイコンとシングルコアマイコンの違い」についてです。

Share
Tweet
LINE
Hatena

マルチコアマイコン

 マルチコアマイコンを大きく分類すると、次の2つになります。

【1】高パフォーマンスのコアをメインコアとして搭載し、それよりも低パフォーマンスのコアを補助的なコア(以下、サブコア)として搭載するタイプ(メインコア+サブコア)

【2】全く同じコアを複数搭載するタイプ

 【1】と【2】の大きな違いは、各コアの関係性です。【1】では、複数のコアにそれぞれの役割分担や主従関係などがあり、それに応じて各コアが並列処理を行います。【2】では、同じコアを複数搭載しているため各コアが対等な関係にあり、それぞれのコアが全く同様の処理を行うことができます。ただし製品によっては、【2】のように全く同じコアを搭載していても、【1】のように役割分担や主従関係を持っている製品もあります。

【1】メインコア+サブコア

マイコンやプロセッサ(MPU)*4)を使ったシステムの構成に「コプロセッサ/コ・プロセッサ(coprocessor/co-processor)」を搭載する方式があります。システム全体の制御を行うメインプロセッサに対して、一部の処理の代行や補助を行うプロセッサを搭載する方式です。この補助的なプロセッサのことをコプロセッサと呼びます。

 メイン制御を行うコアを搭載し、さらにサブコアを1つもしくはそれ以上搭載して1つのマイコンを構成します。システム全体の制御はメインコアが行いますが、負荷の軽い処理はサブコアが行います。例えば、RTC(Real-Time Clock)などを使った時計表示や待機時に受け付ける割り込みの処理などです。シングルコアマイコンの場合、1つのコアが全ての処理を行わなければなりませんが、サブコアを搭載している場合は役割を分担できるため、メインコアの負荷を軽減することができます。

 そのため、下記のようなメリットがあります。

  • システム全体のパフォーマンスを向上させることが可能
  • 同じパフォーマンスを実現する場合、シングルコアに比べて周波数を低くして消費電力を抑えることが可能
  • システムの待機時にサブコアだけを動作させ、メインコアの電源カットや待機モードを使うことにより、システムの待機電力を簡単に制御することが可能

 STマイクロエレクトロニクス(以下、ST)の「STM32MP1シリーズ」*5)や「STM32H7シリーズ」*6)が【1】に相当します。STM32MP1シリーズには、メインコアとして2つのArm Cortex-A7プロセッサが搭載されています。また、サブコアとしてArm Cortex-M4プロセッサ(以下、Cortex-M4)が1つ搭載されています。STM32H7シリーズにはArm Cortex-M7プロセッサ(以下、Cortex-M7)とCortex-M4が1つずつ搭載されています。(図2参照)


図2:STM32シリーズのマルチコア製品(STM32シリーズカタログから抜粋)

参考ページ:*4)Q&Aで学ぶマイコン講座(22):MCUとMPUの違いって何?
*5)https://www.stmcu.jp/stm32/stm32mp1/
*6)https://www.stmcu.jp/stm32/stm32h7/

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る