2012年11月5日月曜日

DMAコントローラ

DMA(Direct Memory Access)は、CPUを介さずにメモリ間のデータ転送や、メモリと入出力装置とのデータ伝送を行う手法です。CPUに比べれば、低速な入出力装置によってCPUの待ち時間が発生しないように、DMAコントローラを用いてデータバスやアドレスバスを直接制御します。ハードディスクなどの補助ディスク装置やネットワークインターフェースなど制御に用いるとCPUを効率よく利用することができます。

【平成22年・秋】
Q.
DMAコントローラの説明として適切なものはどれか。
ア・・・MPUでは時間がかかる積和演算を、高速に行う。
イ・・・仮想メモリ機能、メモリ保護機能などのメモリ管理機能を提供する。
ウ・・・動作クロックに合わせてカウントするカウントレジスタをもち、それによって時間の経過を保持する。
エ・・・メモリと入出力装置との間、又はメモリとメモリとの間でのデータ交換を、MPUを介さずに行う。

A.
ア・・・・DSP(Digital Singal Processor)の説明。ディジタル信号処理に必要となる積和演算を高速に行うために専用の積和演算器をもち、これを並列動作させることでディジタル信号のリアルタイム処理を可能にします。
イ・・・・MMU(Memory Management Unit)の説明。CPUの要求するメモリアクセスを処理し、仮想メモリ管理機能、メモリ保護機能、複数のメモリバンクの切り替え機能、複数のメモリバンクの切り替え機能、バスの調停管理機能などを提供します。
ウ・・・・TSC(Time Stamp Counter)の説明。TSCはDPUの動作クロックごとに加算されるレジスタ。これを用いることできわめて高い精度のタイマを実現することができる。
エ・・・・正しい。

CPUが情報を取得する平均アクセス時間

CPUのキャッシュメモリ、主記憶に対する平均アクセス時間を求める問題です。

キャッシュメモリとはCPUと主記憶の性能差を埋めるために用いる高速小容量メモリのことです。
データはどちらかに入っています。

CPUが情報を取得する平均アクセス時間は以下となります。
(キャッシュメモリへのアクセス速度)×(データがキャッシュメモリに存在する確率) + (主記憶へのアクセス速度) × (データが主記憶に存在する確率)

ちなみに以下の式も成立します。
(データがキャッシュメモリに存在する確率)  + (データが主記憶に存在する確率) = 1



【平成22年・秋】
Q.
容量がaMバイトでアクセス時間がxナノ秒のキャッシュメモリと、容量がbMバイトでアクセス時間がyナノ秒の主記憶をもつシステムにおいて、CPUからみた、主記憶とキャッシュメモリとを合わせた平均アクセス時間を表す式はどうなるか?。ここで読み込みたいデータがキャッシュメモリに存在しない確率をrとし、キャッシュメモリ管理に関するオーバーヘッドを無視できるものとする。

A.
 (1-r)・x +  r・y