SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

パソコン基礎知識 ハード編 (その三) CPU、キャッシュ、RAM、ROM、ビット

■CPU

  ・最近の CPU は、動作クロックもさることながら、内部構造も凄い。
    単体 CPU の内部でさえ、複合演算プロセッサやコプロセッサを持っている。
    まさに中央演算装置。パソコン登場当時のマイコンチップと言うイメージと
    は、ずいぶんかけ離れたものになった。

  ・CPU の中には、レジスタと言うメモリがある。
    これはキャッシュメモリとは違い、CPU が直接使用する記憶域である。
    レジスタの数には制限があり、32 bits 領域がほんの数本あるにすぎない。
    レジスタの中でも特別なものをアキュムレータと呼ぶ。
    intel の Pentium プロセッサでは、マシン命令セットによって、組み合わ
    せて使用するレジスタが決められている。
    80386 までは、CPU ハンドブックを持ってましたが、既に素人が理解できる
    範囲を超えてました。(^^;
    C 言語の register キーワードは、変数をレジスタに割り当てろと言う意味
    です。(32bits C では、あまり使用しないけど。)

  ・0 の除算命令は、CPU の例外割り込みを呼び出すことになる。
    CPU HALT となるので、言語コンパイラでも 0 除算はエラーになるようにな
    っている。しかし、0 の除算エラーから回復するすべは普通ない。
    従って、0 除算が起こりうる計算ロジックを作成しないようにする。

  ・Pentium4 は、同クロックの Pentium3 より遅いらしい。
    P2-412Hz と P4-2GHz を比較すると 約 4 倍高速であった。
    また、P4-2GHz の空冷ファンは恐ろしくでかい。
    2002 年の新型 P4 は発熱量が下がり、少し小振りのファンになるかも。
    連続運転に近い私はケースにもファンが 3 個ついている。
    電源と CPU 合わせて、5 個のファンであるが、最近のは静かで助かった。

  ・CPU AMD Athlon 1400+ 1.2GHz のノートタイプを新調した。
    WindowsXP が元気に動く。(メモリは 512MB にしている。)
    堅い人間である私は Intel 以外の CPU を過去使用したことがなかった。
    システム設定をチューニングもしたが、動作速度的にもそこそこである。

■コプロセッサ(数値演算プロセッサ)

  ・Pentium では、CPU 内に内臓されている。
    このコプロセッサはハード的に数値計算を行う。
    浮動小数点、三角関数など、CPU の演算プロセッサを使用してソフト的に行
    うのと天と地ほどのスピード差がある。

  ・昔は、2 の乗算は演算プロセッサのビットシフト命令を使うのが一番高速だ
    った。計算にかかるクロック数を計算しながら、より高速なアセンブラ命令
    を選択したものだが、もはや 1 クロック、遅くとも 2 クロックで終了しな
    い命令はなくなりつつある。
    ヘタにシフト命令を組み合わせるより、乗算命令を実行する方が速い。
    32 bits 以上のプロセッサで OS でさえ、C 言語が主流になったのは、技術
    の進歩にほかならない。

■キャッシュメモリ

  ・Pentium は、一次キャッシュと二次キャッシュを内臓している。
    一次キャッシュは、CPU のバーストモードで動作しているはずである。
    恐ろしく高速、但し、容量は少ない。
    二次キャッシュは、コストを下げるため一般品を使用しているようである。
    それでも通常のメモリに比較すると、3 〜 5 倍高速なんじゃないだろうか。
    256KB 〜 512KB あたりが二次キャッシュの最近の容量である。

  ・キャッシュメモリはスタティックメモリで構成されるのがほとんどである。
    スタティックメモリはわずかの電力でビットを維持でき、しかも高速にアク
    セスできる。但し、構造が複雑な分、面積あたりの記憶容量が少ない。
    メインメモリをスタティックメモリで実現しようとすれば、おそろしい空間
    が必要となる。コストも非常に高く付く。

■ダイナミックメモリ

  ・DRAM、EDORAM、SDRAM、RDRAM、DDR-SDRAM など色々工夫したものがあるが、
    パソコンのメインメモリに使用されるのは一般にダイナミックメモリである。
    ダイナミックメモリは、コンデンサ 1 個とトランジタ 1 個と言うシンプル
    な構成で作られている。従って、集積度を上げやすい。
    欠点は、アクセススピードが遅いこと、記憶ビットを忘れてしまうことであ
    る。ダイナミックメモリには、周期的に記憶ビットに再電荷を与えなければ
    ならない。これをリフレッシュと言うが、CPU にリフレッシュ回路が内臓さ
    れているのが普通である。

  ・RDRAM が一番高速らしいが、どうも次世代マザーからは、DDR が主流になり
    そうである。RDRAM は 2 枚 1 組などコスト的に嫌われたのかも。
    当面、DDR は RDRAM の性能に劣るようだが、すぐに追い越すロードマップ
    となっている。

  ・メモリには、パリティビットを持つものもある。
    メモリの信頼性は格段に向上するが、最近のメモリでビットミスするものは
    ないと思う。(パリティ付きメモリの方が少し高価。)
    マザーボードがパリティ・ノンパリティのメモリタイプを決める。
    両方使えるもの、どちらか限定のものがある。
    一般の PC では、ノンパリティメモリが主流である。
    同じ原理で、データの数値入力にパリティ桁をつける方法がある。
    1 桁をパリティ桁にするので、入力ミスが激減する。
    数値パリティの作り方にはアルゴリズムがいくつかある。
    いずれにしろ、自分でコードするのか普通である。

■VRAM (ビデオメモリ)

  ・特殊な DRAM が使われることもあるが、ビデオ信号、つまり、モニタディス
    プレイにフリッカーフリーの高周期でメモリにアクセスするには、スタティ
    ック系のメモリが使われるのが普通である。
    書き込んでいる時にも読み出せるデュアルポート RAM や、ビデオメモリな
    らではの機能を持ったものがある。

  ・1600 x 1200 の解像度やフルカラーなど、フリッカフリー高リフレッシュレ
    ートに対応するため、ビテオメモリの性能とあわせて、D/A コンバータの性
    能も近年は著しく進歩している。
    解像度が上がれば上がるだけ、同じ解像度でも色数が増えれば増えるだけ、
    D/A コンバータはつらくなる。

  ・マザーボードにオンチップでディスプレイ機能を搭載しているパソコンもあ
    るが、高級品はディスプレイカードが単体になっている。
    しかも、より高速なバス接続をするために AGP バスを最近は利用している。

  ・最近のビデオカードのトップは、ATI と NVIDIA らしい。
    ゲームと無縁の私には、最近のビデオカードはどこのでも高速な気がする。

■ROM (リードオンリーメモリ)

  ・マスク ROM、PROM、EPROM などがあったが、最近は BIOS もフラッシュ
    ROM がほとんどある。
    マスク ROM は、製版として作成される。従って、作成されたときに既にプ
    ログラムやデータが書かれている。後からの変更はできない。
    PROM は、一度だけ書き込める。EPROM は紫外線で消去することができる。
    フラッシュ ROM は、電気的に消去できる。

  ・ROM へのアクセスはダイナミックメモリに比較しても非常に遅い。
    BIOS にシャドーの設定があるのはこのためである。
    起動時に BIOS の内容をメインメモリにコピーして、そこを ROM として
    アクセスできる。もちろんシャドーの設定ができないマザーもある。

■ビット

  ・メモリは、電圧がある、ないでビットと言う状態を記憶している。
    従って、メモリの最小単位は 0 と 1 のふたつの状態を表す。
    これを 8 個組み合わせて、8 ビットを 1 バイトと呼ぶ。
    2^8 で、256 通りの状態が現せる。数値にすれば 0 〜 255 である。
    CPU の演算ユニットへの命令コードもビットを組み合わせたものである。
    従って、単純にメモリ内容を見ただけでは、それがデータを現しているのか、
    命令コードを現しているのかわからない。

  ・ビットは 2 進数であるから、8 ビット、つまり、1 バイトを 10011111B と
    表現されたり、見やすく 16 進数に直して、0x09f と表現する。
    16 進数は、ヘキサデシマルと呼ばれる。

■容量単位

  ・1  ビット           = 最小単位
  ・8  ビット(bits)     = 1 バイト(byte)
  ・16 ビット(bits)     = 2 バイト(bytes)
  ・32 ビット(bits)     = 4 バイト(bytes)
  ・1024 バイト(bytes)  = 1 キロバイト(KB)
  ・1024 キロバイト(KB) = 1 メガバイト(MB)
  ・1024 メガバイト(MB) = 1 ギガバイト(GB)
  ・1024 ギガバイト(GB) = 1 テラバイト(TB)

  ** 1MB は、1,048,576 bytes、1GB は、1,073,741,824 bytes

■パソコン基礎知識 ハード編資料
■パソコン基礎知識 画像編資料
■パソコン基礎知識 C 言語編資料
■パソコン基礎知識 Windows 編資料
■コンピュータシステム導入編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2024 Y.SAK