連載
» 2009年12月24日 00時00分 公開

【問題4】 RAMの一種「SRAM」の特徴とは?“組み込み力”向上! ETEC対策ドリル(4)

今回は、「RISC」と「CISC」の特徴、および制御用コンピュータとして利用される「システムLSI」について詳しく解説する。

[近森満(株式会社サートプロ 代表取締役社長/JASA ETEC運営事務局),@IT MONOist]

【問題3】の解答

 前回の宿題【問題3】は、RISCの特徴に関する問題でした。MPUは、アーキテクチャにより「RISC」と「CISC」に分類されます。

 今回も問題の解答に続いて、RISCとCISCの特徴、および制御用コンピュータとして利用される「システムLSI」について解説します。この機会にしっかりと理解しておきましょう。

 それでは、解答を発表します!


問題3

RISCの特徴に関する次の記述のうち、正しいものはどれか?

ア.
固定長の命令を必要最低限の数だけ備えている。
イ.
算術演算など1つの命令で複雑な演算を実行できる。
ウ.
パイプライン方式に適していないため、処理性能の向上が難しい。
エ.
マイクロプログラム制御方式を採用し、ハードウェアの構造が複雑である。

答え. (←クリック)


【問題3】の補足

 以外は、すべてCISCの特徴に関する記述になります。

 それでは、RISCとCISCの特徴ついて解説します。

アーキテクチャによるMPUの分類−RISCとCISC−

 MPUは、アーキテクチャにより大きくRISC(Reduced Instruction Set Computer)とCISC(Complex Instruction Set Computer)に分類されます。RISC型とCISC型のMPUの最大の違いは、命令数と命令長です。

 RISCは、簡潔な命令を必要最低限だけ用いることでハードウェアを単純化し、処理の高速化を図ることを目的としています。RISC型のMPUは、命令が固定長であるため、命令の解読時の負荷が小さくなります。また、ハードウェア内で物理的な結線により命令を実行する「ワイヤードロジック(結線論理)制御方式」を採用し、高速な処理を実現しています。

 さらに、MPUの処理を高速化するための“パイプライン処理に適している”というのも、RISCの特徴の1つです。パイプライン処理では、命令を複数のステージに分けて、各ステージを重複して実行していくことで命令の実行速度を上げます。RISCは、命令が固定長であるため、パイプライン処理を効率的に実行することが可能です。

 1980年代にRISC型のMPUが次々と登場すると、それまで主流だったMPUは、RISC型に対して、CISC型と呼ばれるようになりました。CISC型のMPUは、1つの命令で算術演算や浮動小数点演算といった複雑な処理を実行できます。命令数は非常に多く、命令長はまちまちです。また、基本のマイクロ命令を複数組み合わせて1つの複雑な命令を構成する「マイクロプログラム制御方式」を採用しています。そのため、ハードウェアの構造が複雑になり、パイプライン処理の効率が上がりにくくなります。

 RISCとCISCの特徴を表1にまとめます。

表1 RISCとCISCの特徴
RISC
CISC
命令長
固定 可変
命令数
少ない 多い
ハードウェア
単純 複雑
制御方式
ワイヤードロジック制御方式 マイクロプログラム制御方式
そのほか
・パイプライン処理に適している
・遅延分岐による高速化が可能である
・レジスタ数を増やすことでメモリへのアクセス回数を減らす
・コンパイラが複雑になる
・マイクロ命令の変更により、命令セットを容易に変えることができる
・アドレッシングモードが多く、オペランドの指定方法が多様である
・プログラムのコードを短くできる

 現在では、RISC型のMPUでも命令数を増やしたり、CISC型のMPUでも遅延分岐などのRISCの技術を取り入れたりしているため、MPUを厳密にRISCとCISCに分類することは難しくなっています。

CPIとMIPS

 連載第2回で説明したように、MPUは「クロック信号」に基づいて動作します。RISC型のMPUは、簡単にいえば、1クロックで1命令を実行できるように命令長を固定することで処理性能を向上させています。

 MPUが、1命令を実行するのに必要なクロック数を「CPI(Clock cycles Per Instruction)」といいます。CPIは、MPUの性能を示す指標の1つです。理論上、MPUを高速化するためには、CPIをできる限り小さくすればよいことになります。現在では、MPUの高速化技術が進み、CPIが1を下回るMPUも多数存在します。そのため、逆に、1クロックで実行できる命令数を示す「IPC(Instructions Per Clock cycle)」でMPUの性能を示す場合もあります。

 クロック周波数は、クロックジェネレータが1秒間に何回クロックを発振するかを表すものです。つまり、クロック周波数÷CPIで1秒間にMPUが実行できる命令数を求めることができます。また、CPIの逆数がIPCになるため、クロック周波数×IPCでも同様の値を求められます。

 例えば、クロック周波数を200MHz、CPIを0.8とすると、1秒間に実行できる命令数は次のように求められます。

200MHz ÷ 0.8CPI = 250万命令

200MHz × ( 1 ÷ 0.8 )IPC = 200MHz × 1.25IPC = 250万命令

 このように、MPUが1秒間に何百万回命令を実行するかを示す値を「MIPS(Millions Instruction Per Second)」といい、MPUの性能指標の1つとして用いられます。

使用目的に応じたシステムLSI

 MPUは、プログラム次第でさまざまな目的に利用できます。また、MPUのほかにメモリなどの必要な回路を1つのチップに搭載したワンチップマイコンも同様です。製品開発時に、制御用コンピュータとして市販の汎用的なMPUやワンチップマイコンを用いることができれば、それに越したことはありません。しかし、コストや機能などで折り合わない場合には、目的に応じて必要な機能を搭載したチップを開発することになります。このようなチップを総称してシステムLSIと呼びます。

 「ASIC(Application Specific Integrated Circuit)」は、特定の用途向けに必要な機能を搭載したLSIです。特定の用途に特化しているため、処理速度を速くしたり、消費電力を小さくしたりといったカスタマイズが可能です。また、通常は大量生産により単価も安く済みます。

 その一方で、開発に時間がかかる、開発費が高いといった短所もあります。また、一度作成したら回路の構成を変えることはできないため、設計にミスがあると数千万、あるいは数億単位の損失につながる場合もあります。

 そこで、融通の利かないASICの代わりに、回路の書き換えが容易な「PLD(Programmable Logic Device)」が登場しました。PLDは、ユーザーがプログラムによって回路の構造を変えることができるセミカスタムLSIです。PLDによって、特定用途向けのチップ開発における開発期間の短縮やコストの削減が実現します。

 PLDには、「CPLD(Complex Programmable Logic Device)」や「FPGA(Field Programmable Gate Array)」などの種類があります。どちらも、「HDL(Hardware Description Language)」によるプログラミングが可能であり、設計の変更が容易で、少数でも安価な生産が可能になります。CPLDは、集積度が小〜中規模で、プログラミング素子に不揮発性の「EEPROM」や「フラッシュROM」を使用しており、単純な制御処理に向いています。一方、FPGAは集積度が中〜大規模で、プログラミング素子には揮発性の「SRAM」を用います。CPLDより高機能・高性能であり、複雑で高速な処理が可能です。

関連リンク:
いまさら聞けない FPGA入門
http://monoist.atmarkit.co.jp/fembedded/special/fpga/fpga01.html

今回の演習問題―【問題4】

問題4

SRAMの特徴に関する次の記述のうち、正しいものはどれか?

ア.記憶内容を保持するために、リフレッシュ動作が必要である。
イ.通常は、1個のトランジスタと1個のコンデンサで記憶素子を構成する。
ウ.消費電力が大きく、高価で、大容量化が難しい。
エ.クロックに同期して読み書きを行うことで、アクセス速度を向上させる。

答え. 解答はこちら(←クリック)


 いかがでしたでしょうか? RISCとCISCの特徴について理解できましたか。次回は、「ROM」と「RAM」について解説します。ご期待ください!(次回に続く)

関連リンク:
組込みソフトウェア技術研修講座イーラーニング(サンプルIDプレゼント中)
http://www.certpro.jp/elearning.html
組込みソフトウェア技術者試験クラス2試験対策問題集(ETEC-SW2)(サンプルIDプレゼント中)
http://www.certpro.jp/etecsw2test.html

筆者プロフィール
  株式会社サートプロ 代表取締役社長
社団法人 組込みシステム技術協会 ETEC運営事務局
近森 満(ちかもり みつる)

大手電気メーカー、外資系IT教育ベンダ、オープンソース系技術者資格認定団体などを経て、2006年より組み込みシステム分野の人材育成・教育支援を行う株式会社サートプロを設立する。現在は、ETEC運営事務局としてJASAの組込みソフトウェア技術者試験の普及・啓蒙(けいもう)活動のほか、組み込み人材育成と教育支援事業を行う。

Copyright © ITmedia, Inc. All Rights Reserved.