マイクロプロセッサは相変わらず、ほぼムーアの法則通りに18カ月で2倍の処理能力向上を実現しており、これが我々のパソコンの利用環境をより簡易で無駄の無いものに引き上げてくれている。ただ、マイクロプロセッサだけがいくら進化しても、コンピュータとしてのトータルパフォーマンスを上げることはできない。コンピュータとしてのトータルパフォーマンスを向上させるためには、メモリの高速化、外部機器とのインタフェースの高速化、外部機器の処理性能の向上などが必要である。
その中で特に重要なのが、メモリ(RAM)の高速化である。パソコンなどの情報処理装置の場合は、補助記憶装置からOSや各種のプログラムをメインメモリにロードし、そこから命令をマイクロプロセッサに渡すことで処理が実行されるわけであるから、いくらマイクロプロセッサが高速であっても、メモリが遅くては一向に処理は進まない。また現在のように、仮想記憶によるマルチタスキングを前提としたコンピューティング環境においては、タスク管理の上からもメモリの高速化は重要である。
ここでは、このメモリの基本的な構造を説明するとともに、特にパソコンのメモリモジュールとして用いられるDRAMの発展について解説する。
○SRAMとDRAM
RAMは、「SRAM(Static RAM)」と「DRAM(Dynamic RAM)」に大きく分けられる。両者の違いは、データの記憶方法である。次図のようにSRAMはトランジスタによる順序回路(フリップフロップ回路)で構成され、この回路に"1"、"0"という論理値レベルでデータが記憶される。一方DRAMはトランジスタ1個とキャパシタ1個で構成され、このキャパシタに電荷を蓄えるか否かで"1"、"0"を記憶する。
![]() |
| SRAMのセルの構造 |
![]() |
| DRAMのセルの構造 |
図を見ると解るように、SRAMは1つのセルを構成するのに4つ(またはそれ以上)のトランジスタが必要となり、配線数も多いため、「消費電力が大きい」「実装密度を上げにくい(大容量化が難しい)」といった問題はあるが、トランジスタによるスイッチ回路で全てを構成するため高速動作が可能である。したがって、パソコンのメモリモジュールのように大容量を要求されるものには不向きであるが、プログラムをROMに持ち、RAMを作業メモリとして使用するような一般の電子機器や、高速性が要求されるキャッシュメモリとして利用される。
またSRAMは、「リード(読み出し)」「ライト(書き込み)」のやりとりが非常にシンプルである。書き込むデータ(1or0)をデータ線に出力し、ワード線に電圧(Vcc)を与えてやると、トランジスタ(Tr1)のソースとドレインが導通し、データが図のP点に出力される。P点に出力されたデータはフリップフロップ回路により保持される。リード時はデータ線を開放して(電位が無い状態)再びワード線に電圧を与えてやると、Tr1のソースとドレインが導通し、保持されているP点のデータがデータ線に出力される。
一般的な非同期SRAMは次のインタフェースで構成され、アドレスを指定してCE、OEをアクティブにすることでデータのリードが、アドレスを指定してCE、WEをアクティブにしてやればライトが行なえる。
非同期SRAMのインタフェース(128k×8ビット=1Mビットの場合)
| A0~A16 | アドレス指定ライン |
| I/O0~I/O7 | リード/ライト用のデータ入出力ライン |
| CE(チップ・イネーブル) | デバイス選択信号で、アクティブのときに入出力が有効になる |
| OE(アウトプット・イネーブル) | 出力開放信号で、アクティブのときに出力バッファがON状態となりデータがI/O0~I/O7に出力される |
| WE(ライト・イネーブル) | ライトモード信号で、アクティブ時の信号のエッジタイミングでセルにデータが書き込まれる。 |
またキャッシュメモリなどに用いられる「Synchronous SRAM(同期SRAM)」はCLK(クロック入力信号)を備え、前述の各インタフェースがこのクロックに同期して動作する。バースト転送(1つのアドレスを指定するだけで、その前後のアドレスのデータを連続して出力すること)のためのアドレスカウンタなど制御回路も内蔵している。
○DRAMの構造
![]() |
| DRAMの構成 |
DRAMはSRAMと違い、キャパシタに蓄えられた微小な電荷でデータを記憶(保持)するため、リード動作も複雑で、また記憶を維持するために「リフレッシュ」という作業を行なってやらなければならない。後述するがDRAMのアドレッシングはSRAMのようにダイレクトにフルアドレスを指定するのではなく、ロウ(行)とカラム(列)に分けてアドレッシングを行なう。
・ライト動作
セルへのデータ書き込みは、外部データ線にデータを開放し、まず行(ワード線)を選択して電圧を与える。次にカラム選択スイッチをONにすることで該当する列の内部データ線にデータが開放され、行の選択でFETのゲートに電圧が与えられソース-ドレイン間が導通しているセルのキャパシタに情報が記憶される(データが"1"のときに電荷が蓄えられる)。
・リード動作
DRAMのやっかいなことのひとつがリード動作である。前述のライト動作を見ると、ワード線を指定してFETのソース-ドレイン間を導通させ、キャパシタの情報を内部データ線に開放し、最後にカラム選択スイッチをONして外部データ線にデータを開放すればよいように思えるがそうはいかない。何故ならばセルのキャパシタの容量は非常に小さなもので、そのまま外部データ線に開放するとすべての電荷が流出してしまい、データ線をドライブできないだけでなく、セルの記憶情報が紛失してしまうからである。
このためDRAMでは次の手順でリード動作を行なう。
1.プリチャージスイッチをONして内部データ線をプリチャージ電源ラインと同じ電圧にする。プリチャージ電源ラインの電圧はセンスアンプのスレッショルド電圧(電圧を"1"か"0"に区別するためのしきい値電圧)に設定する。
2.プリチャージスイッチをOFFする。信号線には浮遊容量(寄生容量)と呼ばれるキャパシタが存在するため、内部データ線にプリチャージされた電圧はしばらくの間保持される。
3.ワード線を選択して電圧を与える。これによりFETのソース-ドレイン間が導通し、キャパシタの情報が内部データ線に開放される。内部データ線にはプリチャージ電圧が存在しているので、キャパシタに電荷がある場合(データが"1"の場合)にはスレッショルド電圧を超える電圧値に、電荷が無い場合(データが"0"の場合)にはスレッショルド電圧を下回る電圧値になる。
4.センスアンプのコントロール端子に電圧を加える。これによりセンスアンプが働き、内部データ線の電圧値をしきい値電圧を基準に"1"と"0"に該当する電圧(Vp=5Vであれば5Vと0V)に変える。このときセルのキャパシタには同じデータが再度記憶される。
5.カラム選択スイッチをONして、内部データ線の情報を外部データ線に開放する。
(藤広哲也)
【レポート】メモリ技術解説(2) 同期動作で高速化、SDRAM
へ続きます
【COMPUTEX TAIPEI 2002レポート】RDRAMのPC1066や、DDRのDDR400など高速メモリの動向を担当者に聞く
【IDFレポート】メモリ動向に大きな影響力を持つ3社の見解は? DDR IIIは?
| 小規模ゲームスタジオが1日で100万ドル獲得 - クラウドソース型調達で [12:37 2/10] |
| あぁ俺の オタク川柳 予選落ち - 第7回「オタク川柳」投票受付を開始 [11:00 2/10] |
| Googleバーまたまた刷新、ロゴからのドロップダウンメニュー廃止 [10:50 2/10] |
| 地震への関心、再び高まる - 1月のTwitter利用動向 [10:21 2/10] |
| サイバーエージェントがアールフォース・エンターテインメントを子会社化 [09:56 2/10] |
|
【レポート】CP+2012 - 発売前の「X-Pro1」の高級感に酔いしれる - 富士フイルム [18:57 2/10] 家電 |
|
インターネット、V2版を再現した「VOCALOID3 Megpoid Native」発表 [18:43 2/10] クリエイティブ |
|
Appleが3月初旬にスペシャルイベント開催の噂 - iPad 3の発表か [18:34 2/10] パソコン |
|
【SIHH2012新作情報】カルティエより「オート オルロジュリー ウォッチ コレクション」新作発表!Vol.1 [18:08 2/10] キャリア |
|
【製品レビュー】手軽に簡単接続でHD画質を実現するビデオキャプチャーユニット『Intensity Shuttle』の底力 [18:08 2/10] キャリア |