メディア
連載
» 2018年12月04日 11時00分 公開

ハイレベルマイコン講座:【アーキテクチャ概論】(1):マイコンの“アーキテクチャ”って何? (3/3)

[菅井賢(STマイクロエレクトロニクス),EDN Japan]
前のページへ 1|2|3       

レジスタ構成

 CPUが演算を行う時には、データを一時的に保持する必要があり、「レジスタ」(Register)と呼ばれる記録回路を備えている。このレジスタには、汎用レジスタ方式とアキュムレータ方式の2つの方式がある。汎用レジスタかアキュムレータについては、マイコン入門!! 必携用語集(3):マイコンの中枢「CPU」とはの「汎用レジスタとアキュムレータ」の章で詳しく解説している。

 CPUの中にあって、演算データを一時的に保管するレジスタを複数持つ場合、この複数のレジスタ群を「汎用レジスタ」と呼ぶ。一方、演算データを保管するレジスタが1つしかない場合、このレジスタを「アキュムレータ」と呼ぶ。アキュムレータ方式の場合、演算は必ずアキュムレータとメモリ間で行う。そして演算結果は、アキュムレータに入る(マイコンによってはメモリにも入る)。アキュムレータは英語でAccumulatorと書く。「蓄積する人(物)」、「累算器」、「積算器」、「加算器」の意味だ。

 演算結果が必ずアキュムレータに入るので、足し算を繰り返すと、演算結果が順次累積されるので、この名前が使われている。

 汎用レジスタ方式の場合は、2つのレジスタ間で演算ができるため、わざわざRAMなどのメモリをアクセスしなくても済み、高速演算が可能になる。

図4:汎用レジスタとアキュムレータ

 アキュムレータ方式は、汎用レジスタ方式に比べ、回路が簡単になるため、コストメリットがある。汎用レジスタ方式は、演算速度の他に、CコンパイラなどのIDE(Integrated Development Environment)との親和性が高い。例えば、C言語でローカル変数などを定義し、実際のマイコンのメモリに割り当てる際に、汎用レジスタの場合は、複数個の変数をレジスタ割り当てることができるが、アキュムレータ方式ではRAMなどのメモリに割り当てなくてはならない。

 最近では、マイコンの製造プロセスが微細化されたため、論理規模が大きくなっても、あまりコストに影響を及ぼさなくなったため、汎用レジスタ方式がほとんどのマイコンで採用されている。しかし、STマイクロエレクトロニクスのSTM8ファミリのように、アキュムレータ方式を採用し、コストを抑えながら、ハーバードアーキテクチャ(後述)などの手法を組み合わせて、高性能を実現しているマイコンもある。

筆者プロフィール

菅井 賢(すがい まさる)
(STマイクロエレクトロニクス マイクロコントローラ製品部 アプリケーション・マネージャー)

 日系半導体メーカーにて、25年以上にわたりマイコンの設計業務に携わる。その後、STマイクロエレクトロニクスに入社し、現在までArm Cortex-Mプロセッサを搭載したSTM32ファミリの技術サポート業務に従事。Armマイコン以外にも精通しており、一般的な4ビットマイコンから32ビットマイコンまで幅広い知識を有する。業務の傍らマイコンに関する技術論文や記事の執筆を行っており、複雑な技術を誰にでも分かりやすい文章で解説することがモットー。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.