CPU

CPU

制御装置、演算装置、記憶装置、入力装置、出力装置の各装置の役割や機能、ノイマン型コンピューターの動作原理を紹介します。

また、CPUの命令実行手順や各種レジスタの役割、機械語のアドレス指定方式、CPUの性能指標、そして高速化技術についても解説します。

コンピューターの基本構造とCPUの動作原理を理解し、特に、試験でよく問われるポイントを押さえています。

試験で問われるポイント

  • コンピューターの5大装置について、それぞれの役割を説明しなさい。
  • ノイマン型コンピューターのプログラム内蔵方式と逐次制御方式の違いを説明しなさい。
  • CPUの主要なレジスタとその役割を列挙しなさい。
  • 命令実行の手順(フェッチ、デコード、実行)について説明しなさい。
  • 即値アドレス方式と直接アドレス方式の違いを説明しなさい。
  • 間接アドレス方式の特徴と利点を述べなさい。
  • インデックスアドレス指定方式とベースアドレス指定方式の違いを説明しなさい。
  • 相対アドレス指定方式の使用例を挙げなさい。
  • クロック周波数とクロックサイクル時間の関係を説明しなさい。
  • CPI(Clock cycles Per Instruction)の意味とその重要性を説明しなさい。
  • MIPS(Million Instructions Per Second)の計算方法を説明しなさい。
  • パイプライン処理のメリットを説明しなさい。
  • 分岐予測と投機実行の役割と効果を説明しなさい。
  • スーパーパイプラインとスーパースカラの違いを説明しなさい。
  • CISCとRISCの基本的な違いを説明しなさい。
スポンサーリンク

コンピューターの5大装置

装置名称 代表的な機器 役割
制御装置 中央処理装置(CPU) プログラムの命令を解釈し、コンピューター全体の動作を制御する。
演算装置 算術論理演算装置(ALU) 四則演算やデータの演算処理を行う。
記憶装置 主記憶装置(RAM) プログラムやデータを一時的に記憶する。
記憶装置 補助記憶装置(HDD、SSD) プログラムやデータを長期に渡り記憶する。
入力装置 キーボード、マウス コンピューターにデータを入力する。
出力装置 ディスプレイ、プリンター コンピューターのデータを出力する。

コンピューターの5大装置

制御装置

  • 役割: プログラムの命令を解釈し、コンピューター全体の動作を制御します。制御装置は、プログラムカウンタに基づいて命令をフェッチ(取り出し)、デコード(解読)、実行します。これにより、他の装置(演算装置、記憶装置、入力装置、出力装置)の動作を統括します。
  • 代表的な機器: 中央処理装置(CPU)。CPUは制御装置と演算装置を含み、コンピューターの「脳」として機能します。

演算装置

  • 役割: 四則演算(加算、減算、乗算、除算)や論理演算(AND、OR、NOTなど)を行います。これらの演算は、データ処理の基本となる操作です。
  • 別名: 算術論理演算装置(ALU)。ALUは、CPUの一部であり、数値計算やデータ比較などの基本的な演算を実行します。

記憶装置

  • 主記憶装置:
    • 役割: プログラムやデータを一時的に記憶し、CPUが直接アクセスできるようにします。実行中のプログラムやそのデータはすべてここに格納されます。
    • : RAM(Random Access Memory)。RAMは揮発性であり、電源が切れるとデータが失われます。
  • 補助記憶装置:
    • 役割: プログラムやデータを長期的に保存します。補助記憶装置は非揮発性であり、電源が切れてもデータは保持されます。
    • : ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)。HDDは磁気ディスクを使用し、SSDはフラッシュメモリを使用します。

入力装置

  • 役割: コンピューターにデータを入力する装置です。ユーザーからの指示やデータをコンピューターに取り込みます。
  • : キーボード(テキストデータの入力)、マウス(ポイントおよびクリック操作の入力)、スキャナー(画像データの入力)、マイク(音声データの入力)。

出力装置

  • 役割: コンピューターのデータを出力する装置です。処理結果やデータをユーザーに表示・提供します。
  • : ディスプレイ(ビジュアルデータの表示)、プリンター(紙への印刷)、スピーカー(音声の出力)、プロジェクター(映像の投影)。

ノイマン型コンピューター

ノイマン型コンピューター

プログラム内蔵方式

プログラム内蔵方式とは、プログラムを実行する前にあらかじめ主記憶装置(RAM)にプログラムを読み込んでおく方式です。この方式により、プログラムは主記憶装置から直接実行され、補助記憶装置からの頻繁な読み込みを避けることができます。主記憶装置に読み込まれたプログラムは、CPUがアクセスしやすくなり、実行速度が向上します。

逐次制御方式

逐次制御方式とは、プログラムの命令を1つずつ取り出して順番に実行していく方式です。CPUはプログラムカウンタを使用して次に実行する命令のアドレスを管理し、その命令を主記憶装置からフェッチ(取り出し)、デコード(解読)、エクスキューション(実行)します。この方式により、プログラムの命令が順序通りに実行されることが保証されます。

CPUの命令実行手順とレジスタ

レジスタの種類と役割

  1. プログラムレジスタ: 次に実行するべき命令が入っているアドレスを記憶します。これにより、CPUは次の命令がどこにあるかを把握します。
  2. 命令レジスタ: 取り出した命令を一時的に記憶します。フェッチされた命令はここに保持され、次のステップで解読されます。
  3. インデックスレジスタ: 連続したデータの取り出しに使うための増分値を保持します。データの配列処理などで使用されます。
  4. ベースレジスタ: プログラムの先頭のアドレスを保持します。これにより、プログラム全体のアドレスを基準として操作できます。
  5. アキュムレータ: 演算の対象となる数や、演算結果を記憶します。算術演算や論理演算の結果を一時的に保持する主要なレジスタです。
  6. 汎用レジスタ: 特定の機能を持たないレジスタで、一時的な値の保持やアキュムレータの代用に使用されます。汎用性が高く、さまざまな用途に利用されます。

命令実行の手順

  1. 命令の取り出し(フェッチ):
    • プログラムカウンタ内にある取り出すべき命令を参照し、その命令を命令レジスタに記憶します。取り出し終わったら、次の命令に備えてプログラムカウンタの値を1つ増加させます。
  2. 命令の解読:
    • 命令レジスタに取り入れた命令の内容を命令デコーダに送信し、解読します。命令デコーダは命令を解釈し、必要な制御信号を生成します。
  3. 対象データ(オペランド)の読み取り:
    • 演算に必要なデータ(オペランド)を読み取ります。命令レジスタのオペランド部を参照して、指定されたメモリアドレスからデータを取り出し、汎用レジスタに記憶します。
  4. 命令の実行:
    • 命令の内容に従って演算を行い、その結果を返します。演算結果はアキュムレータや汎用レジスタに記憶されます。命令実行が完了すると、再びフェッチステップに戻り、次の命令を処理します。

機械語のアドレス指定方式

即値アドレス方式

  • 概要: オペランド部にデータそのものが入っている方式。
  • 特徴: 命令そのものに操作対象のデータが含まれているため、即座に使用できる。

直接アドレス方式

  • 概要: オペランド部に記載されたアドレスが実効アドレスとして使われる方式。
  • 特徴: オペランド部に示されたアドレスを直接使用してデータにアクセスする。

間接アドレス方式

  • 概要: データが入っている箇所を示すメモリアドレスをオペランド部に記載する方式。
  • 特徴: オペランド部に記載されたアドレスを参照し、そのアドレスに格納されているデータのアドレスを使用してデータにアクセスする。

インデックスアドレス指定方式

  • 概要: オペランド部の値にインデックスレジスタの値を加算して実効アドレスを求める方式。
  • 特徴: 配列や連続データの操作に便利。インデックスレジスタの値をオペランド部の値に加算して実効アドレスを得る。

ベースアドレス指定方式

  • 概要: オペランド部の値にベースレジスタの値を加算して実効アドレスを求める方式。
  • 特徴: プログラムの再配置が容易。ベースレジスタの値をオペランド部の値に加算して実効アドレスを得る。

相対アドレス指定方式

  • 概要: オペランド部の値にプログラムカウンタの値を加算して実効アドレスを求める方式。
  • 特徴: プログラム内の分岐命令などに使用される。プログラムカウンタの現在の値にオペランド部の値を加算して実効アドレスを得る。

CPUの性能指標

クロック周波数

  • 概要: クロック周波数とは、1秒間に繰り返されるクロックの数を示す指標です。クロックは、CPUが動作するタイミングを決める周期信号で、クロック周波数が高いほど、CPUはより多くの命令を処理できます。
  • 単位: ヘルツ(Hz)。例えば、1GHzのクロック周波数は、1秒間に10億回のクロックが繰り返されることを意味します。

クロックサイクル時間

  • 概要: クロックサイクル時間とは、1クロックに要する時間のことです。クロック周波数の逆数で表され、クロックサイクル時間が短いほど、CPUの動作速度が速いことを意味します。
  • 計算方法: クロックサイクル時間 = 1 / クロック周波数。例えば、クロック周波数が1GHzの場合、クロックサイクル時間は1ナノ秒(10^-9秒)となります。

CPI(Clock cycles Per Instruction)

  • 概要: CPIとは、1命令当たりに必要なクロックサイクル数を示す指標です。CPIが低いほど、1命令を実行するために必要なクロックサイクル数が少なく、効率的であることを意味します。
  • : 1命令に2クロックサイクルが必要なら、CPIは2となります。

MIPS(Million Instructions Per Second)

  • 概要: MIPSとは、1秒間に実行できる命令の数を示す指標です。MIPSが高いほど、CPUの処理能力が高いことを意味します。
  • 計算方法: MIPS = クロック周波数(Hz) / CPI。例えば、クロック周波数が1GHzでCPIが2の場合、MIPSは500となります(1GHz / 2 = 500MIPS)。

CPUの高速化技術

パイプライン処理

パイプライン処理は、命令を複数の段階(フェッチ、デコード、エクスキューションなど)に分け、それぞれの段階を並行して処理する技術です。これにより、命令の実行効率が向上し、全体のスループットが高まります。

分岐予測と投機実行

分岐予測は、条件分岐命令の結果を予測し、次に実行すべき命令を先読みする技術です。投機実行は、予測に基づいて命令を事前に実行することを指します。これにより、予測が正しければ処理の遅延を減らし、効率を高めます。ただし、予測が外れた場合は、投機実行した命令を破棄し、再度実行する必要があります。

スーパーパイプライン

スーパーパイプラインは、従来のパイプライン処理をさらに細かいステージに分割し、一度により多くの命令を並行処理する技術です。これにより、各ステージの処理時間が短縮され、全体のスループットがさらに向上します。

スーパースカラ

スーパースカラは、複数の命令を同時に実行できるようにする技術です。複数のパイプラインを持ち、異なる命令を並行して実行することで、CPUの処理能力を大幅に向上させます。

CISCとRISC

CISC(Complex Instruction Set Computer)

CISCは、高機能な命令セットを持つコンピューターアーキテクチャです。複雑な処理を少ない命令で実現するため、1つの命令で多くの操作を行うことができます。これにより、プログラムコードの長さを短縮し、メモリ使用量を減らすことができます。しかし、高機能な命令の実装には複雑なハードウェアが必要となるため、命令の実行速度が低下する場合があります。

RISC(Reduced Instruction Set Computer)

RISCは、単純な命令セットを持つコンピューターアーキテクチャです。命令の種類を減らし、それぞれの命令を高速に実行することを目指しています。RISCの命令はシンプルで、一貫した実行時間を持つため、パイプライン処理が効率的に行えます。これにより、CPUの動作速度が向上し、全体のパフォーマンスが高まります。ただし、RISCでは複雑な処理を行うためには多くの命令が必要となるため、プログラムコードの長さが増えることがあります。

まとめ

制御装置、演算装置、記憶装置、入力装置、出力装置の役割を理解することは、コンピューターの動作を理解する基礎です。

CPUの動作原理、命令実行の手順、アドレス指定方式、および高速化技術(パイプライン処理、分岐予測、スーパーパイプライン、スーパースカラ)についても深く学びましょう。これらの知識は、試験での高得点を目指すための重要なポイントです。理解を深めることで、実践的な応用力も向上します。

タイトルとURLをコピーしました