「プロセッサ」カテゴリーアーカイブ

【応用情報・基本情報】
・コンピュータの種類,構成を修得し,応用する。
・プロセッサの種類,アーキテクチャ,構造,方式,動作原理を修得し,応用する。
・プロセッサの性能を表す指標を修得し,応用する。
・プロセッサの高速化技術,高信頼化技術を修得し,応用する。

【ITパスポート】
・コンピュータの基本的な構成と役割を理解する。

プロセッサ

情報処理技術者試験での学習内容

【応用情報・基本情報】
・コンピュータの種類,構成を修得し,応用する。
・プロセッサの種類,アーキテクチャ,構造,方式,動作原理を修得し,応用する。
・プロセッサの性能を表す指標を修得し,応用する。
・プロセッサの高速化技術,高信頼化技術を修得し,応用する。

【ITパスポート】
・コンピュータの基本的な構成と役割を理解する。

(1)コンピュータの種類 ITパスポート 基本情報 応用情報

パーソナルコンピュータ(PC),ワークステーション,スーパコンピュータなどの特徴,用途を理解する。

用語例:デスクトップPC,ノートPC,サーバ,携帯端末(スマートフォン,タブレット端末ほか),汎用コンピュータ,制御用コンピュータ,マイクロコンピュータ

(2)コンピュータの構成 ITパスポート 基本情報 応用情報

コンピュータが五つの装置から構成されること,装置間の制御の流れ,データの流れを理解する。

用語例:演算装置,制御装置,記憶装置,入力装置,出力装置

(3)プロセッサの種類 ITパスポート 基本情報 応用情報

プロセッサの種類,それぞれの特徴,用途を理解する。

用語例:CPU,GPU,DSP

(4)プロセッサのアーキテクチャ 基本情報 応用情報

1.データ処理の単位

プロセッサのアーキテクチャによって,プロセッサが1 命令で処理するデータサイズに違いがあることを理解する。

用語例:ビット,キャラクタ,バイト,ワード

2.命令形式

1 命令で処理するオペランドの数で命令の形式を分類できることを理解する。

用語例:1 オペランド形式,2 オペランド形式

3.命令セット

プロセッサのアーキテクチャによって命令セットに違いがあること,プロセッサアーキテクチャとしてはRISC とCISC があることを理解する。

用語例:固定長命令,可変長命令

 (5)プロセッサの構造と方式 基本情報 応用情報

プロセッサを構成する制御装置と演算装置の役割,それらを構成する加算器,レジスタ,デコーダ(命令解読器,復号器)などの役割,プロセッサの能力とシステムの処理能力の関係を理解する。また,命令実行時のレジスタの動作を理解する。

用語例:アキュムレータ,補数器,乗算器,積和演算器,命令アドレスレジスタ(命令カウンタ, プログラムカウンタ, 逐次制御カウンタ), IR ( Instruction register:命令レジスタ),GR(General Register:汎用レジスタ),インデックスレジスタ( 指標レジスタ), ベースレジスタ, MAR ( Memory Address Register:メモリアドレスレジスタ),DR(Data Register:データレジスタ),MR(Memory Register:メモリレジスタ),スタックポインタ

(6)プロセッサの動作原理 基本情報 応用情報

1.演算の仕組み

AND 回路,OR 回路,NOT 回路などの基本となる論理回路の組合せによって半加算器,全加算器が実現され,演算が行われていることを理解する。

用語例:順序回路,組合せ回路,NAND 回路

2.命令とアドレッシング

代表的な機械語命令の種類,命令語の構成,命令の実行手順(命令の取出し,命令部の解読,データの取出し,命令の実行),アドレス修飾を理解する。また,機械語演算のバイナリ表現,アセンブラの記号表現との対応,相互の変換を行う方法を理解する。

用語例:算術演算命令,論理演算命令,転送命令,比較命令,分岐命令,シフト命令,入出力命令,アドレス部(オペランド),フェッチ,アドレス計算,アドレス方式,アドレス修飾,直接アドレス指定,間接アドレス指定,インデックスアドレス指定(インデックス修飾),ベースアドレス指定,相対アドレス指定,絶対アドレス指定,即値アドレス指定,有効アドレス(実効アドレス)

3.割込み

割込みの仕組み,内部割込み,外部割込みに分類される割込みの種類,多重割込み時の処理を理解する。

用語例:SVC(SuperVisor Call)割込み,入出力割込み,割込み制御,マシンチェック割込み,プログラム割込み

(7)マイクロプログラム制御 応用情報

プロセッサの動作を制御する仕組みとして,1 機械語命令を実行するためのプログラム(マイクロプログラム)をファームウェア化して内蔵する方式があること,その特徴を理解する。

用語例:マイクロプログラムメモリ,マイクロプログラムカウンタ,エミュレーション,水平型マイクロコード,垂直型マイクロコード

(8)プロセッサの性能 基本情報 応用情報

クロック周波数,CPI(Cycles Per Instruction),MIPS などの意味を理解する。

用語例:サイクルタイム,FLOPS,命令ミックス

(9)プロセッサの高速化技術 基本情報 応用情報

プロセッサの代表的な高速化技術の種類,特徴を理解する。

用語例:命令パイプライン,スーパパイプライン,スーパスカラ,VLIW,ベクトル処理方式,ハイパスカラ方式,超並列プロセッサ,パイプラインハザード,データハザード,構造ハザード,制御ハザード,シングルコアプロセッサ,マルチコアプロセッサ,マルチスレッディング

(10)並列処理 基本情報 応用情報

1.命令とデータの流れ

代表的な並列処理方式の種類,特徴を理解する。

用語例:SISD,SIMD,MISD,MIMD

2.並列処理の隘路

並列化できないため逐次処理にならざるを得ない処理として,複数のプロセッサからの主記憶装置の使用要求の競合,データベースへの同時アクセスによるロックの発生などがあること,それらの処理が能力向上を阻害する原因となることを理解する。

(11)マルチプロセッサシステム 基本情報 応用情報

複数のプロセッサを搭載し,高速化や高信頼化を実現したシステムについて,種類,特徴,仕組み,マルチプロセッサシステムを適切に組み合わせた基盤設計を理解する。

用語例:疎結合マルチプロセッサシステム,密結合マルチプロセッサシステム,タンデム結合マルチプロセッサシステム,アレイコンピュータシステム,アムダールの法則,同期, SMP(Symmetric Multi Processing:対称型マルチプロセッシング),クラスタ,トーラス,ハイパキューブ,ハイパツリー

 

コンピュータの種類

この記事での学習内容 ITパスポート 基本情報 応用情報

パーソナルコンピュータ(PC),ワークステーション,スーパコンピュータなどの特徴,用途を理解する。

用語例:デスクトップPC,ノートPC,サーバ,携帯端末(スマートフォン,タブレット端末ほか),汎用コンピュータ,制御用コンピュータ,マイクロコンピュータ

コンピュータの種類

コンピュータは、用途やサイズ、機能などによっていくつかに分けられます。

汎用コンピュータ
メインフレームとも呼ばれ、企業の基幹システムなどに用いられるコンピュータです。大量のバッチ処理やリアルタイム処理を高速に処理できます。
サーバコンピュータ
多数のクライアントに対してサービスを提供するコンピュータを総称してサーバコンピュータと呼びます。一般的にPCと比べて信頼性に優れる、高性能のコンピュータ(*)が使われます。サーバ向けコンピュータにはいくつかの形状があります。
・デスクトップ型: パソコンと同じような形状。
・タワー型: パソコンよりも筐体が大きい形状で、拡張性に優れる。
・ラックマウント型: サーバ用のラックに積み重ねて収納できる形状で、少ない設置面積で複数の機器を設置できる。
・ブレード型: 専用の母体に接続する形状で、電源や外部インタフェースを共有できる。
PC(Personal Computer:パソコン)
パソコンは、個人が使うのに適した小型のコンピュータの総称です。様々な用途に使うためのアプリケーションソフトが豊富にあるのが特徴です。
PDA(Personal Digital Assistants)
個人携帯情報端末ともいい、持ち運びに便利なように小型に設計された情報機器です。主な機能には個人スケジュールの管理や住所録の管理機能、無線LANや赤外線による通信機能、ビジネスソフトなどのアプリケーションがあります。
最近では、携帯電話が高機能化して、携帯情報端末となっているものが増えています。(スマートフォンやタブレット端末など)
*サーバ向けの高性能なコンピュータ

ここでいう「高性能」とは、CPUのクロック数やメモリの容量、といったカタログ上の「高性能」ということではなく、部品レベルでの「高信頼性」が大きい。
PCを使用していると時々「フリーズ」といったことが起こるが、サーバではそれが起こっては深刻な影響が出るため。

コンピュータの構成

この記事での学習内容 ITパスポート 基本情報 応用情報

コンピュータが五つの装置から構成されること,装置間の制御の流れ,データの流れを理解する。

用語例:演算装置,制御装置,記憶装置,入力装置,出力装置

コンピュータの5大要素

「コンピュータ」には、非常に多様な種類が存在するが、その構成要素は基本的に共通しています。一般的には、「コンピュータの五大構成要素」と呼ばれる、下記のもので構成されています。

制御装置/演算装置/記憶装置/入力装置/出力装置

 パソコンであれば、それぞれ下記の装置が、該当します。

  • 制御装置&演算装置:CPU(中央処理装置)、プロセッサとも呼ばれる。
  • 記憶装置:いわゆる『メモリ』のこと。ハードディスクやDVDドライブなどは補助記憶装置、または外部記憶装置と言われる。
  • 入力装置:キーボードやマウス、スキャナやマイクなど
  • 出力装置:モニタ、プリンタ、スピーカなど

 

プロセッサの種類とアーキテクチャ

この記事での学習内容 基本情報 応用情報

プロセッサの種類,それぞれの特徴,用途を理解する。
プロセッサのアーキテクチャによって命令セットに違いがあること,プロセッサアーキテクチャとしてはRISC とCISC があることを理解する。

用語例:CPU,GPU,DSP、ビット,キャラクタ,バイト,ワード、1 オペランド形式,2 オペランド形式、固定長命令,可変長命令

CPU

CPU(Central Processing Unit:中央処理装置)は、コンピュータの五大構成要素(制御・演算・記憶・入力・出力)のうち、もっとも重要な働きである制御と演算を行う装置です。 

CPUは人間で言えば「頭脳」にあたる役割を担うので、CPUの性能がパソコン全体の性能を左右し、高速なCPUを搭載したコンピュータほど高性能といえます。

CPUの構造

コンピュータのCPUは通常、コンピュータ本体に内蔵されたマザーボード上にある一つのLSI(Large Scale Integration)チップからなっています。

CPUは主記憶装置からプログラムを読み出して、そこに書かれた命令を解読し、演算を行い、コンピュータ上の各装置の動作を制御する働きをします。

最近のコンピュータでは、一つのCPU内に演算の実行部分(=コア)を複数持たせることで高速化した、マルチコアプロセッサも使用されています。

CPUの構造の種類

CPUの実行できる命令の集まりを「命令セット」といいます。この命令セットの構造の設計概念には、CISCとRISCの2種類があります。

 RISCCISC
命令の長さ固定可変
重視するもの高速性機能性
ハードウェアの構造単純複雑
制御方式ワイヤドロジック制御方式マイクロプログラム制御方式

RISC

RISC(Reduced Instruction Set Computer:縮小命令セットコンピュータ)は、単純な動作をする命令セットを持つCPUです。ワイヤドロジック制御方式で単純な動作をする命令セットだけを持ち、構造が単純で高速に動作します。

ワイヤドロジック制御方式

ワイヤドロジック制御方式とは、コンピュータの制御部と演算部で行われる命令の実行を、ハードウェアの物理的な結線(電子回路)だけで制御する方式です。動作が高速なのが特徴ですが、複雑な命令には適しません。

CISC

CISC(Complex Instruction Set Computer:複合命令セットコンピュータ)とは、複雑な命令セットを持つCPUです。一つの命令で複数の処理を行い、マイクロプログラム制御方式を用います。

マイクロプログラム制御方式

マイクロプログラム制御方式とは、一つの複雑な命令を実行しようとすると、あらかじめ定義しておいた複数の単純な命令の並びである「マイクロプログラム」を実行する方式です。

ハードウェアの物理的な結線(電子回路)はRISC方式より複雑になりますが、全てをワイヤドロジックにするよりは単純ですみます。機能の追加や変更をマイクロプログラムの変更で行うことが出来るのも特徴です。

RISCに比べると、速度性能は劣ります。

 

プロセッサの構造と方式

この記事での学習内容 基本情報 応用情報

プロセッサを構成する制御装置と演算装置の役割,それらを構成する加算器,レジスタ,デコーダ(命令解読器,復号器)などの役割,プロセッサの能力とシステムの処理能力の関係を理解する。また,命令実行時のレジスタの動作を理解する。

用語例:アキュムレータ,補数器,乗算器,積和演算器,命令アドレスレジスタ(命令カウンタ, プログラムカウンタ, 逐次制御カウンタ), IR ( Instruction register:命令レジスタ),GR(General Register:汎用レジスタ),インデックスレジスタ( 指標レジスタ), ベースレジスタ, MAR ( Memory Address Register:メモリアドレスレジスタ),DR(Data Register:データレジスタ),MR(Memory Register:メモリレジスタ),スタックポインタ

制御装置と演算装置の役割

コンピュータの五大機能のうち、中核となる制御と演算は、高速な中央処理装置(CPU)で行われます。LSIチップであるCPUの内部は、制御装置と演算装置とで構成されています。

演算装置は、それぞれの命令を実行する電子回路の集まりです。

制御装置は、コンピュータ全体の処理の進行を制御する電子回路です。

 

レジスタ

レジスタとは、CPUの内部に存在する高速の記憶装置です。計算入力や計算結果の一時的な保持や、周辺機器の動作状態の保持に利用されます。
大容量で相対的に低速な記憶装置の中のデータは、CPUの中の高速なレジスタへ移して処理します。
これによって処理を高速にしつつ、装置間の回路を単純にします。レジスタの動作は非常に高速ですが、容量は少量です。

レジスタは複数存在し、いくつかの種類があります。代表的なレジスタは以下の表のとおりです。

名称役割
アキュムレータ演算結果を一時的に格納するレジスタ
命令アドレスレジスタ次に実行する命令の先頭アドレスを格納するレジスタ
命令レジスタ現在実行中の命令を格納するレジスタ
汎用レジスタ様々な目的で利用することが出来るレジスタ
インデックスレジスタ
(指標レジスタ)
インデックスアドレス指定で、基準となるアドレスを格納するレジスタ
ベースレジスタベースアドレス指定で、基準となるアドレスを格納するレジスタ

命令アドレスレジスタ

命令アドレスレジスタは、制御装置の中にあるレジスタの一種であり、次に実行する記憶装置中の命令の先頭アドレスを格納するレジスタです。命令カウンタやプログラムカウンタとも呼ばれます。

通常は、一つの命令の演算が終わると、命令アドレスレジスタには次の命令の先頭アドレスが格納されます。これによって、複数の命令が並んだ順序に実行されます。

一方、プログラム言語の反復、選択、サブルーチンの呼び出しや再帰に対応する分岐命令は、分岐先の命令の先頭先アドレスを命令アドレスレジスタに格納する働きをします。

命令レジスタ

命令レジスタは、現在実行中の命令を格納するレジスタです。命令アドレスレジスタが指す記憶装置の中の命令が次々と格納されていきます。

汎用レジスタ

汎用レジスタは、演算やアドレス保持などの様々な用途を持つレジスタです。どんな用途で使うかは命令で指示します。

汎用レジスタは、電子回路を簡潔にし、プログラミングの自由度を増します。インデックスレジスタやベースレジスタを用途に含む場合もあります。

インデックスレジスタ

インデックスレジスタは、アドレスを扱うレジスタの一種です。指標レジスタともいいます。

命令に含まれるアドレス値に、レジスタに格納されているインデック値を加算する機能を持っています。

そのインデックス値は、プログラム言語の配列のインデックス値(添字)に相当するので、配列処理のプログラムが簡潔になります。

ベースレジスタ

ベースレジスタは、アドレスを扱うレジスタの一種です。命令に含まれるアドレス値に、レジスタに格納されているベース値を加算する機能を持っているのが特徴です。仕組みとしては、インデックスレジスタと変わりはなく、用途と呼称が違うだけです。

ベースレジスタの値を変えるだけで、プログラムの主記憶装置中の位置を自由に再配置したり、命令のアドレス用ビット数を節約したりする役割を果たします。

インデックスレジスタとベースレジスタの使い分け

簡単に両者の違いを言い表すならば、実行時にリロケータブルにするために、ベースアドレス方式を使い、配列要素を参照するためにインデックスアドレス方式を使う、というのが一般的な使い分け方です。

デコーダの役割

デコーダは、符号や暗号、圧縮状態に変えられていたデータを、元のデータに変換するハードウェアやソフトウェアです。

CPUの制御装置の中にある命令デコーダは、記憶装置から命令レジスタに移された命令コードを解釈して、命令の実行の準備をして、命令コードに対応する電子回路を選択する電子回路です。例えば、命令コードが「加算」を意味しているなら、演算装置の加算回路が実行されるようにします。

(参考)プログラムの再利用性に関するキーワード

再配置可能(リロケータブル)

プログラムを補助記憶装置から主記憶装置に読み込む際、主記憶のどの位置に読み込んでも実行が可能なプログラムを再配置可能なプログラムといいます。アドレス指定が、プログラムの先頭アドレスからの相対位置で表現されている必要があります。

再使用可能(リユーザブル)

主記憶に読み込まれて実行を終えたプログラムが、再度の主記憶への読み込みを行うことなく再実行できることをいいます。

再帰可能(リカーシブル)

自分自身を呼び出すことが可能なものを再帰可能なプログラムといいます。

再入可能(リエントラント)

1つのプログラムにおいて、複数の処理要求が来ても同時に処理できることを指します。各データが処理中に混合しないように、データの領域を処理要求の数だけ用意しています。

プロセッサの動作原理

この記事での学習内容 基本情報 応用情報

・AND 回路,OR 回路,NOT 回路などの基本となる論理回路の組合せによって半加算器,全加算器が実現され,演算が行われていることを理解する。
・代表的な機械語命令の種類,命令語の構成,命令の実行手順(命令の取出し,命令部の解読,データの取出し,命令の実行),アドレス修飾を理解する。また,機械語演算のバイナリ表現,アセンブラの記号表現との対応,相互の変換を行う方法を理解する。
・割込みの仕組み,内部割込み,外部割込みに分類される割込みの種類,多重割込み時の処理を理解する。

用語例:順序回路,組合せ回路,NAND 回路、算術演算命令,論理演算命令,転送命令,比較命令,分岐命令,シフト命令,入出力命令,アドレス部(オペランド),フェッチ,アドレス計算,アドレス方式,アドレス修飾,直接アドレス指定,間接アドレス指定,インデックスアドレス指定(インデックス修飾),ベースアドレス指定,相対アドレス指定,絶対アドレス指定,即値アドレス指定,有効アドレス(実効アドレス)、SVC(SuperVisor Call)割込み,入出力割込み,割込み制御,マシンチェック割込み,プログラム割込み

加算機

加算器は、CPUの中にある2進数を加算する電子回路です。デジタル回路によって計算装置を発明する時に、考察の中心となった電子回路です。

加算器は、最下位の桁用の一つの半加算器と、それ以上の桁用の複数の全加算器とで構成されます。

半加算器

2進数の加算の一部を担う半加算器という電子回路は、AND・OR・NOTの3種類の論理回路の組み合わせで実現できます。
桁上りの信号は2桁目の全加算器へ送ります。

なお、半加算器を実現するには、上図の例以外にも色々な電子回路の組み合わせが考えられますが、排他的論理和(XOR)回路が使えるのであれば、下記のようにXORとANDの組合せが最も簡単です。

全加算器

2進数の加算の一部を担う全加算器という電子回路は、2つの半加算器と1つのOR回路で実現できます。

下位の桁用の回路から桁上りの信号を受け取り、それ自身の桁上りの信号は上位桁用の全加算器へ送ります。

命令とアドレス指定

一つの命令の形式は、CPUの種類や命令の種類によって異なりますが、典型的な命令の形式は「命令部」と「オペランド部」で構成されます。

命令部は命令の種類を表し、オペランド部は処理する対象のアドレス(主記憶装置中の位置)を表します。

命令の実行手順

一つの命令の実行は、一般には次のような細かい段階を経て進められます。細部は命令の種類によって異なる場合もあります。

  1. 命令の読み込み:
    次に実行するべき一つの命令を、主記憶装置からCPUの命令レジスタへ読み込む。
  2. 命令の解読:
    命令の命令部を解読して、以降の処理の種類を選ぶ。
  3. アドレスの決定:
    命令のオペランド部を解読して、処理スべき主記憶装置中の位置を決定する。
  4. データの読み込み:
    主記憶装置からデータをレジスタに読み込む。
  5. 命令の実行:
    選んだ演算処理の回路が演算などの処理をする。
  6. データの書き出し:
    レジスタからデータを主記憶装置に書き出す。

アドレス指定

直接アドレス方式

命令のオペランド部の値には、処理対象のアドレスが直接示されています。

間接アドレス指定方式

間接アドレス指定方式は、命令のオペランド部が指す「主記憶装置中の値」を最終的なアドレスとする方式です。

プログラムの実行中に主記憶装置中の値を変更することによって、最終的なアドレスを変更できます。

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

インデックスアドレス指定方式は、オペランド部の値にインデックスレジスタの値を加えてアドレスを決定する方式です。
プログラム言語の配列の処理に役立ちます。

ベースアドレス指定方式

ベースアドレス指定方式は、オペランド部の値にベースレジスタの値を加えてアドレスを決定する方式です。プログラムを再配置自由にしたり、アドレスを表すオペランド部のビット数を節約したりするのに役立ちます。

相対アドレス指定方式

相対アドレス指定方式は、オペランド部の相対アドレス地に命令アドレスレジスタのアドレス値を加えてアドレスを決定する方式です。プログラムを主記憶装置中の任意の位置に再配置するのに適しています。

インデックスアドレス指定方式、ベースアドレス指定方式、および相対アドレス指定方式の仕組みは同じであり、用途や呼称が異なるだけです。

割込みの仕組み

割込みは、一つのプログラムの一連の命令の実行を中断することです。割込みによって別のプログラムの一連の命令を実行した後、中断していたプログラムの実行を再開します。
複数のプログラム全体の処理効率を向上させたり、例外状態に対処したりするのに役立ちます。

割込み発生時には、CPU内のレジスタ類の内容は他の記憶場所(スタック領域)へ退避して、再開する時に元通りにします。

割込みには、実行中のプログラムが原因で行われる内部割込みと、実行中のプログラム以外が原因で行われる外部割込みとがあります。

内部割込み

内部割込みは、実行中のプログラムが原因で行われる割込みです。内部割込みには次のようなものがあります。

  • 演算結果が許容範囲を越えようとする例外状態の割込み
  • 決定したアドレスが許容範囲を越えようとする例外状態の割込み。
  • プログラムが意図的に起こす割込み。(入出力装置用のプログラムに処理を依頼する時にスーパーバイザコールという命令を実行するときなど)
SVC割込み

スーパーバイザコール(SVC)割込みは、プログラム中のスーパーバイザコール命令を実行して発生させる割込みです。

入出力装置用のプログラムに処理を依頼するときなど、プログラム自身が意図的に割込みをしたい場合に用いられます。

外部割込み

外部割込みは、実行中のプログラム以外が原因で行われる割込みです。外部割込みには次のようなものがあります。

  • 入出力処理が完了したり、入出力処理で異常が発生したりした場合の割込み。
  • そのプログラムへ割当てた単位時間が終了した時のタイマ割込。
入出力割込み

入出力割込みは、入出力処理が完了したり、入出力処理で以上が発生したりした場合に発生する割込みです。

CPUの処理は入出力装置の処理に比べてケタ違いに高速なので、CPUが単純に入出力装置の処理の完了の終了を待つのは非常に効率が悪くなります。そのため、該当のプログラムが入出力処理の完了を待っている間に、CPUは他のプログラムを並行して処理します。入出力割込みによって、元のプログラムの実行を再開します。

タイマ割込み

タイマ割込みは、そのプログラムへ割当てた単位時間が終了した時に発生する割込です。

正確なタイミングを必要とする処理や、複数のプログラムに平等に時間を割り当てて処理する場合などに用いられます。

 

プロセッサの性能

この記事での学習内容 基本情報 応用情報

クロック周波数,CPI(Cycles Per Instruction),MIPS などの意味を理解する。

用語例:サイクルタイム,FLOPS,命令ミックス

クロック周波数

コンピュータの内部には、各装置の動作のタイミングを合わせるために、一定のテンポでパルス信号を発するクロック機構があります。その信号の頻度をクロック周波数と言います。

周波数とは1秒間に繰り返す振動の数で、単位は Hz(ヘルツ)です。クロック周波数が高いほど1秒あたりの振動数が多く、かつ一つの振動にかかる1クロック時間(周期)が短いことになります。

CPUの処理速度

CPUはクロック周波数に合わせて動作します。そのため、クロック周波数はCPUの性能を表す指標の一つとして用いられます。

通常、CPUは1~数クロックごとに1命令を実行します。つまり、クロック周波数によってCPUが命令を実行するタイミングが決まります。クロック周波数が高いほどCPUが1命令を実行する時間が早まり、コンピュータの処理速度も速くなります。

現在市販されているコンピュータの多くは1~3GHz(ギガヘルツ:1GHz=10億Hz)のクロック周波数で動作するCPUを搭載しています。

なお、クロック周波数が同じCPUであっても、機種が異なると処理速度が違う場合があります。また、コンピュータの処理速度には、メモリの容量や入出力の速度などいろいろな要素が影響するため、同じCPUを搭載したコンピュータでもプログラム実行性能が必ず同じとは限りません。

MIPS

MIPS(Million Instructions Per Second:ミップス)もCPUの性能を表す指標です。MIPSは、CPUが1秒間に何百万回の命令を実行できるかを表す数です。

*1MIPS = 100万命令/秒

なお、一般的にはほとんど分岐のない命令セットを用いて計測され、CPUのピーク性能を示す指標とされています。

CPI

命令あたりの平均クロックサイクル数(=CPI:Cycle Per Instruction)も、CPUの性能を表す指標です。これは少ないほど性能が良くなります。

FLOPS

FLOPS(Floating point number Operations Per Second:フロップス)はCPUが1秒間に何回の浮動小数点数演算が出来るかを表す数です。MIPSと似ていますが、こちらは主にコンピュータの科学技術計算の性能を表すのに用いられます。特に、天文や地学などの分野のシミュレーションに使うスーパーコンピュータの性能を比較する際に用いられます。

命令ミックス

命令ミックスとは、様々な種類の命令の使用頻度を考慮して、コンピュータの性能を評価する手法で、MIPSやFLOPSよりも実態に近い指標を出そうとする手法です。

命令の種類によって実行速度が異なるので、命令の平均速度で性能を評価するのは、命令の使用頻度によって左右されますので、コンピュータの応用分野によって標準的な使用頻度を定めた命令ミックスを用いて性能を評価します。

科学記述計算用のギブソン・ミックスや、事務計算用のコマーシャル・ミックスなどがあります。

プロセッサの高速化技術

この記事での学習内容 基本情報 応用情報

プロセッサの代表的な高速化技術の種類,特徴を理解する。

用語例:命令パイプライン,スーパパイプライン,スーパスカラ,VLIW,ベクトル処理方式,ハイパスカラ方式,超並列プロセッサ,パイプラインハザード,データハザード,構造ハザード,制御ハザード,シングルコアプロセッサ,マルチコアプロセッサ,マルチスレッディング

パイプライン

 

例えば、化学工場の場合、数々の加工装置の間をパイプでつないで、次々と物質を加工していきます。それぞれの装置は同時に並行して動作することで、効率を向上させています。

コンピュータのパイプライン方式とは、一つの命令の実行が完了するのを待つことなく、「命令の読み込み」「命令の解読」「アドレスの決定」「データの読み込み」「命令の実行」「データの書き出し」などの細かな段階を、命令ごとに段階をずらして同時に並行して処理する方式です。CPUの内部でも、命令の段階で使っている機器は異なる(デコーダ、各種レジスタなどなど)ので、それを有効に活用しようとする技術です。

一つの命令の実行を段階1(S1)から段階5(S5)まで、パイプライン方式で同時並行処理すると、処理の進行は次のようになります。

この場合の性能は5倍になります。但し、命令の種類によっては段階の間に依存関係があって、完全な同時並行処理はできない場合もあります。

スーパーパイプライン

スーパーパイプライン方式は、一つの命令を実行する段階を細分化して、パイプライン処理を更に効率良く行う方法です。通常のパイプラインは4~5段階ですが、7~10段階程度の方式をスーパーパイプライン方式と呼びます。

但し、段階を増やせば、並列度は高まるが、1命令に要するクロック数はどうしても増えてしまうので、一概に段階数を増やせば良いというものでもありません。

スーパースカラ

スーパースカラ方式は、命令実行の同じ段階を同時並行処理ができる装置を複数揃える方式です。二つの装置を揃えた場合の処理の進行は以下のようになります。

この場合には、パイプライン方式に比べて、性能が2倍になります。

VLIW

超長命令語(Very Long Instruction Word:VLIW)は、複数の命令で構成されるビット数の多い命令語のことです。
超長命令語を処理できるコンピュータは、複数の命令を同時並行処理して性能を向上させます。

プログラム言語のコンパイラが、依存関係を持たないことを保証できる命令語群にできる部分を見抜いて、超長命令語に変換します。この考え方は、コンパイラの性能向上に寄与しており、より効率の良い機械語への変換を行えるようになっています。

並列処理

この記事での学習内容 基本情報 応用情報

代表的な並列処理方式の種類,特徴を理解する。

用語例:SISD,SIMD,MISD,MIMD

並列処理

並列処理とは、一つの処理を複数のプロセッサで並行して行うことです。並列処理の目的は処理効率を向上させることです。
サーバーコンピュータやそれよりも上位のコンピュータでは並列処理(マルチプロセッサ処理)はよく利用されています。

単一の処理のことをSISDといい、並列処理には SIMD、MISD、MIMDという種類があります。

  • SISD: Single Instruction Single Data
  • SIMD: Single Instruction Multiple Data
  • MISD: Multiple Instruction Single Data
  • MIMD: Multiple Instruction Multiple Data

SISD

SISD(Single Instruction Single Data)は、通常の単一の処理であり、一つの命令を一つのプロセッサで実行して、一つのデータを処理することです。

SIMD

SIMD(Single Instruction Multiple Data)は、一つの命令を複数のプロセッサで実行して、複数のデータを並行処理することです。

MISD

MISD(Multiple Instruction Single Data)は、複数の命令を複数のプロセッサで実行して、一つのデータを並行処理することです。

MIMD

MIMD(Multiple Instruction Multiple Data)は、複数の命令を複数のプロセッサで実行して、複数のデータを並行処理することです。

並列処理の隘路

並列化できないため逐次処理にならざるを得ない処理として,複数のプロセッサからの主記憶装置の使用要求の競合,データベースへの同時アクセスによるロックの発生などがあります。

これらの処理によっては、並列処理を行なっても処理能力の向上が図りにくい場合もあります。

マルチプロセッサシステム

この記事での学習内容 基本情報 応用情報

複数のプロセッサを搭載し,高速化や高信頼化を実現したシステムについて,種類,特徴,仕組み,マルチプロセッサシステムを適切に組み合わせた基盤設計を理解する。

用語例:疎結合マルチプロセッサシステム,密結合マルチプロセッサシステム,タンデム結合マルチプロセッサシステム,アレイコンピュータシステム,アムダールの法則,同期, SMP(Symmetric Multi Processing:対称型マルチプロセッシング),クラスタ,トーラス,ハイパキューブ,ハイパツリー

マルチプロセッサシステム

 

マルチプロセッサシステムは、複数のプロセッサを有する単一のコンピュータシステムです。マルチプロセッサシステムの目的は処理能力の向上や可用性の向上です。

可用性

システムの一部に障がいが発生しても、使い続けることの出来る性質。

処理効率の向上も重要な要素ですが、24時間365日稼動のシステムを構築するにあたっては、可用性の確保のためにマルチプロセッサシステムが取られていることが多くあります。

マルチプロセッサシステムには、疎結合マルチプロセッサ、密結合マルチプロセッサ、クラスタなどの種類があります。

疎結合マルチプロセッサシステム

疎結合マルチプロセッサシステムは、複数のプロセッサが通信回線を経由してデータを共有する、マルチプロセッサシステムです。

プロセッサ同士の余分な影響が少ないことや、普通のコンピュータの組合せで実現できるのが利点です。

通信回線を経由するので処理効率は劣りますが、ローカルエリアネットワークの高速化によって処理能力が向上しています。

密結合マルチプロセッサシステム

密結合マルチプロセッサシステムは、複数のプロセッサが主記憶装置を共有するマルチプロセッサシステムです。複数のプロセッサは共通バスを経由して接続されます。

始めからマルチプロセッサシステムとして設計する必要があり、プロセッサ間の独立性も低いですが、バス接続なので処理効率が良いのが特徴です。

クラスタ

クラスタは、一つのシステムとして処理を実行するひとまとまりの複数のコンピュータ群です。

疎結合マルチプロセッサや密結合マルチプロセッサはプロセッサ同士が対称的な構成ですが、クラスタは対称性は問われません。

この技術の一つの発展形が、最近のトレンドである『クラウドコンピューティング』であり『グリッドコンピューティング』です。

機能分散の意味合いを持たせる場合もあり、可用性の向上、負荷分散を狙ったものなど、色々なケースがある。単に複数のコンピュータを連携させて、一台の高性能なコンピュータであるかのように動かす、というのがクラスタ構成のポイントです。