周辺ハードウエア

 「はじめに」でも説明したが、マイコン(=マイクロコントローラ)には、CPUの他に、メモリ(RAM/ROM)、タイマや通信機能、I/Oポートなど様々な機能が1つのICチップに集積されている。
 ここで、本稿で解説しているH8/3052Fの周辺ハードウエアについて解説する。

 下図は、H8/3052Fの内部構造を模式的に表したものである。ここで、黄緑色になっているブロックが、ユーザが直接使用可能な周辺ハードウエアである。
 ※「周辺」という言葉を不用意に使っているが、CPUの周りにあるハードウエア(装置or回路)という意味である。

 
 

 これらは、全てCPUと内部バスで接続されている。CPUから見ると、周辺ハードウエアはメモリのようにアドレスで指定する。

 例えば、下の図で、CPUが①~④のアドレスにアクセスしたとすると、

  • ①のアクセス(0x00100)は、内蔵ROM(Flash ROM)に対するアクセス
  • ②のアクセス(0xFFE200)は、内蔵RAMに対するアクセス
  • ③のアクセス(0xFFFFD1)は、I/OポートAに対するアクセス
  • ④のアクセス(0xFFFFE0)は、A/D変換器に対するアクセス

 となる。

      

 この様に、CPUはアドレスで指定された先に何が繋がっているのかは、基本的に関知しない(つまり、知った事ではないという事)。プログラマは、常にアドレスの向こう側に繋がっているのが何者かを意識する必要がある。

 ※この様に、アドレスの割り当てを表にしたものを「メモリマップ」と呼ぶ。

 それぞれの周辺ハードウエアの詳細については、後述。

最終更新:2014年04月02日 15:04