CPUが演算を行う時には、データを一時的に保持する必要があり、「レジスタ」(Register)と呼ばれる記録回路を備えている。このレジスタには、汎用レジスタ方式とアキュムレータ方式の2つの方式がある。汎用レジスタかアキュムレータについては、マイコン入門!! 必携用語集(3):マイコンの中枢「CPU」とはの「汎用レジスタとアキュムレータ」の章で詳しく解説している。
CPUの中にあって、演算データを一時的に保管するレジスタを複数持つ場合、この複数のレジスタ群を「汎用レジスタ」と呼ぶ。一方、演算データを保管するレジスタが1つしかない場合、このレジスタを「アキュムレータ」と呼ぶ。アキュムレータ方式の場合、演算は必ずアキュムレータとメモリ間で行う。そして演算結果は、アキュムレータに入る(マイコンによってはメモリにも入る)。アキュムレータは英語でAccumulatorと書く。「蓄積する人(物)」、「累算器」、「積算器」、「加算器」の意味だ。
演算結果が必ずアキュムレータに入るので、足し算を繰り返すと、演算結果が順次累積されるので、この名前が使われている。
汎用レジスタ方式の場合は、2つのレジスタ間で演算ができるため、わざわざRAMなどのメモリをアクセスしなくても済み、高速演算が可能になる。
アキュムレータ方式は、汎用レジスタ方式に比べ、回路が簡単になるため、コストメリットがある。汎用レジスタ方式は、演算速度の他に、CコンパイラなどのIDE(Integrated Development Environment)との親和性が高い。例えば、C言語でローカル変数などを定義し、実際のマイコンのメモリに割り当てる際に、汎用レジスタの場合は、複数個の変数をレジスタ割り当てることができるが、アキュムレータ方式ではRAMなどのメモリに割り当てなくてはならない。
最近では、マイコンの製造プロセスが微細化されたため、論理規模が大きくなっても、あまりコストに影響を及ぼさなくなったため、汎用レジスタ方式がほとんどのマイコンで採用されている。しかし、STマイクロエレクトロニクスのSTM8ファミリのように、アキュムレータ方式を採用し、コストを抑えながら、ハーバードアーキテクチャ(後述)などの手法を組み合わせて、高性能を実現しているマイコンもある。
日系半導体メーカーにて、25年以上にわたりマイコンの設計業務に携わる。その後、STマイクロエレクトロニクスに入社し、現在までArm Cortex-Mプロセッサを搭載したSTM32ファミリの技術サポート業務に従事。Armマイコン以外にも精通しており、一般的な4ビットマイコンから32ビットマイコンまで幅広い知識を有する。業務の傍らマイコンに関する技術論文や記事の執筆を行っており、複雑な技術を誰にでも分かりやすい文章で解説することがモットー。
Copyright © ITmedia, Inc. All Rights Reserved.