すでにマイコンを使い込まれている上級者向けの技術解説の連載「ハイレベルマイコン講座」。今回は、2017年03月22日公開の「Q&Aで学ぶマイコン講座(36):ハーバードアーキテクチャって何?」で言及されている「バスマトリクス」に着目し、詳しく解説していく。
本記事は、2017年03月22日公開「Q&Aで学ぶマイコン講座(36):ハーバードアーキテクチャって何?」で言及されている「バスマトリクス」に着目し、詳しく解説していく。
マトリクス(Matrix)とは、「数学の行列」、すなわち「複数の数字を格子状に並べ、全体を括弧でくくったもの」である。従って、マイコンの文脈で使用されるバスマトリクスとは、内部バスを格子状に接続し、ひとまとめにしたものを意味する。
バスマトリクスは、CPU(Central Processing Unit)内部でも使われるが、CPUとペリフェラル機能を接続する内部バスにも使用される。
図1に、CPU内部で使われている例を示す。CPUはArm Cortex-M4プロセッサで、中央部の青色枠で囲ったブロックがバスマトリクスである。
一方、図2に、CPUとペリフェラル機能を接続する内部バスで使用されているバスマトリクスの例を示す。製品はSTマイクロエレクトロニクス(以下、ST)の汎用32ビットマイコン「STM32F4シリーズ」で、中央部の青色枠で囲ったブロックがバスマトリクスである。バスマスターは、図の上部に記述されており、CPUのArm Cortex-M4プロセッサ、DMA1/2、MAC Ethernetなどである。バススレーブは、右側に記述されており、フラッシュメモリ、SRAM1〜3などである。
バスマスターとは、バス上の転送制御をつかさどる機能のことである。バスマスターがバスの使用権(以下、バス権)を得て、ターゲットとなるデバイスを指定してデータ転送が行われる。この時ターゲットになるデバイスをバススレーブと呼ぶ。
Arm Cortex-M4プロセッサのバスマトリクス内部は公開されていないが、STM32F4シリーズは公開されているため、本記事ではSTM32F4シリーズを例に挙げて解説する。
Copyright © ITmedia, Inc. All Rights Reserved.