【基本情報技術者】コンピュータの構成要素について

基本情報技術者
この記事は約16分で読めます。

勉強を始め、早速予定が押しているグランドリバー白川です。

今日も張り切っていってみよー!

スポンサーリンク

基本情報技術者~コンピュータの構成要素~

CPU(プロセッサ)

基本情報技術者試験ではCPUやメモリに関する問題も多く出題されます。

CPUの性能は以下の3つの指標で評価されます。

  1. クロック周波数
  2. MIPS
  3. コア

クロック周波数

Hz

クロック周波数とは、CPUの動作の速さを表す指標です。

コンピュータは内部に発振器というものを持っていて、この発振器が1秒間に何回信号を発生させたかというものがクロック周波数になります。

単位はHz(ヘルツ)です。

1秒間に1回の信号を発生させることを1Hzといいます。

クロック

コンピュータの世界では、命令の処理にかかるCPUの手間のことをクロック数で表します。クロック数とは、発振器がテンポを刻む回数のことです。発振器が1回分のテンポを刻むことを1クロックといいます。

より多くの命令を、より速く実行するには、より速いテンポに対応できるCPUが必要です。以下に、1秒間に実行できる命令数を計算するための公式を載せておきます。

例えば、クロック周波数 2.5G HzのCPUが 1 秒間に処理できるクロック数は、2.5ギガクロック、つまり、25億クロックとなります。1つの命令にかかるクロック数が平均 2 クロックの場合、1秒間に実行できる命令数は 12.5 億個になります。

MIPS

MIPS(Million Instructions Per Second)とは、CPUが1秒間に何百万ミリオン個の命令を実行できるかを表す単位です。2 MIPS は、「1 秒間に 200万個の命令を実行する」という意味になります。

MIPSは、以下の公式で求めることができます。

次のような例題があったとします。

例題
2 MIPSの「平均命令実行時間」を求めよ。

解答
MIPSを求める公式に数値を当てはめていき計算を行います。

2 = 1 ÷ 平均命令実行時間 × 10-6
平均命令実行時間 = 1 / 2 × 10-6 = 0.5(マイクロ秒) = 500(ナノ秒)

従って、解は500(ナノ秒)となります。

コア

基本情報技術者試験では「コア」の定義などについて直接の形で出題されることはあまりないそうですが、設問の中に「コア」というキーワードはよく登場するので、意味を確認しておきましょう。

コアとはCPUの中にある「演算を行なう装置」です。最近では、1つのCPU内に複数のコアが搭載されているコンピュータが主流です。

1つのCPU内に複数のコアを持つCPUのことを「マルチコアプロセッサ」といいます。
2つのコアの場合、「デュアルコアプロセッサ」といいます。
4つのコアの場合、「クアッドコアプロセッサ」といいます。

それぞれのコアが別々の処理を行えるので、コア数が多いCPUのほうが性能が高いといえます。

CPUが処理する流れ

主記憶装置の仕組み

主記憶装置とは、「命令やデータを格納しておく装置」です。

データは各区画に分けられていて、それぞれアドレス(番地)が割り振られています。

命令とデータ

CPUはアドレスを指定して、主記憶装置から命令やデータを取り出し、「〇〇番地のデータを取り出せ」や「○○と□□を足し算せよ」といった処理を行います。

処理を行ったら、その結果(データ)を主記憶装置に格納します。

命令の構成

主記憶装置からCPUに読み込まれる命令は、下図のように「命令部」と「アドレス部」から構成されています。

命令部には「取り出せ」や「足し算せよ」といった命令が書かれていて、アドレス部には「処理対象のデータが格納されているアドレス」が記されています。

レジスタ

主記憶装置から読み込まれた命令やデータは、CPU内のレジスタに格納されます。レジスタとは、CPUの中にある、命令やデータを一時的に格納する記憶装置です。

レジスタは、例えるならば「小さな格納庫」です。

レジスタには、大きく分けて3つの種類があります。

種類説明
プログラムカウンター(プログラムレジスタ)「次の命令のアドレス」を格納するレジスタ
命令レジスタ「命令」を格納するレジスタ
汎用レジスタ「データ」を格納するレジスタ

CPUが命令を処理する流れ

CPUが命令を処理する流れを記述してみます。

  1. コンピュータが起動すると、CPUはプログラムカウンターを見に行き、格納されている「次の命令のアドレス」を見て、主記憶装置に「命令」を取りに行く
  2. プログラムカウンターが自動的に加算される
  3. 主記憶装置から取り出された命令が「命令レジスタ」に格納される。この主記憶装置から命令を取り出して命令レジスタに格納することを「フェッチ」という
  4. 命令はCPUの中にある命令デコーダ(命令解読器)という装置で解読される
  5. 解読結果より、命令の内容が「4番地にあるデータを取り出せ」というものであるならば、主記憶装置の4番地にあるデータ「4」を取りに行く
  6. 取り出されたデータ「4」は「汎用レジスタ」に格納される
  7. 加算されたプロうグラムカウンターを見に行き、次の処理を行なう

といった具合になります。

アドレス指定方式

これまで、「主記憶装置の内部は細かく区分けされており、それぞれの区画にアドレス(番地)が割り当てられている」ということや、「CPUが主記憶装置に格納されている命令やデータを取り出す際はこのアドレスを指定する」ということを学びました。

このアドレスを指定する方法には、以下の2種類があります。

  • 直接アドレス指定
  • 間接アドレス指定
直接アドレス指定

命令部、アドレス部というデータがあったとして、このアドレス部に直接、対象となるデータのアドレスが格納されているものを、直接アドレス指定と呼びます。

間接アドレス指定

命令部、アドレス部とデータがあったとして、このアドレス部が主記憶装置上のアドレスを指していて、そのアドレスに入っているデータが、対象となるデータのアドレスとなるものを、関節アドレス指定と呼びます。

割込み

割込みとは、現在実行中のプログラムを中断して、別のプログラムに切り替えることを指します。

割込みが発生したら、CPUはプログラムカウンターにあるアドレスを別の場所に退避させ、そこから、割り込んできた命令のアドレスをプログラムカウンターにセットします。その処理が終わった後、退避させたアドレスをプログラムカウンターに復帰させます。

割込みには、次の2種類があります。

種類説明
内部割込み実行中のプログラムが原因で発生する割込み。
外部割込み実行中のプログラム以外が原因で発生する割込み。

そして、内部割込みと外部割込みで、それぞれ数種類あります。

内部割込みの種類

種類説明
プログラム割込みプログラムの実行中に発生したエラーによって起きる割込み。
 具体例 
・ゼロ除算(数値をゼロで割り算するとエラー)
・演算結果のオーバーフロー
・未定義命令を実行(プログラム例外)
・メモリやデバイスが存在しない領域にアクセス(アドレス例外)
スーパーバイザー
コール割込み
OSの機能を利用するときに起きる割込み。
 具体例 
・プログラムの実行中にデータの入力をユーザーに要求する
ページフォールト仮想記憶管理での、主記憶装置に存在しないページへのアクセス。

外部割込みの種類

種類説明
タイマ割込みCPUのタイマによって発生する割込み。
 具体例 
・インターバルタイマによる指定時間の経過時
 (ラウンドロビンソン方式で一定時間ごとにCPUの使用権を切り替え
 るときなど)
・ウォッチドッグタイマによるタイムアウト(永久ループのあるプログ
 ラムを停止させるときなど)
入出力割込み入出力が完了したことによる割込み。
 具体例 
・入出力処理の終了の知らせ
・処理中の入力装置や出力装置に異常が発生したとき
器械チェック割込み装置内の検査によって異常を検出したときに起こる割込み。
 具体例 
・停電などの電源異常による割込み
・メモリパリティエラーが発生したことによる割込み
コンソール割込みプログラムの実行中に、オペレーターがコンソールから処理要求を出したときに発生する割込み。

内部割込みと外部割込みの見分け方は、「実行中のプログラムが原因かどうか」です。実行中のプログラムが原因であれば内部割込みです。

小休止!お試しトライ!過去問①

問1 MIPS

問題
平均命令実行時間が20ナノ秒のコンピュータがある。このコンピュータの性能は何MIPSか。

平成29年度

ア.5  イ.10  ウ.20  エ.50

解答
MIPSを求める公式を使用します。

MIPS = 1 ÷ 平均命令実行時間 × 10-6 = 1 ÷ (20 × 10-9) × 10-6 = 0.05 × 103
   = 50

従って、解はエ.となります。

問2 クロック周波数

問題
1GHzのクロックで動作するCPUがある。このCPUは、機械語の1命令を平均0.8クロックで実行することができることが分かっている。このCPUは1秒間に平均何万命令を実行できるか。

令和元年度

ア.125  イ.250  ウ.80,000  エ.125,000

解答
クロック周波数から1秒間に実行できる命令数を求める公式を使用します。

1秒間に実行できる命令数 = クロック周波数 ÷ 1つの命令を実行するのに必要なクロック数
 = 1 × 109 ÷ 0.8 = 109 × 10 / 8 = 1 / 8 × 1010
 = 0.125 × 1010 = 1,250,000,000 = 125,000(万回)

従って、解はエ.となります。

さまざまな記憶装置

さまざまな記憶装置ということですが、ここではメモリに関することを扱っていきます。基本情報技術者試験では、「キャッシュメモリ」「ヒット率」「ライトスルー方式」「ライトバック方式」の4つの用語が頻出だそうです。

コンピュータに搭載されている記憶装置には、大きく分けて次の3種類があります。

  1. 主記憶装置
  2. 補助記憶装置
  3. キャッシュメモリ

主記憶装置

主記憶装置とは、コンピュータが直接読み書きをする記憶装置のことです。主記憶装置は「主記憶」「メインメモリ」と呼ばれます。

主記憶装置の役割は、命令やデータを一時的に格納しておくことです。

そして、主記憶装置には、次のような特徴があります。

  • 主記憶装置は、データを高速に出し入れできる
  • 主記憶装置に保存されたデータは、コンピュータの電源を切ると消滅する(揮発性)

補助記憶装置

補助記憶装置とは、主記憶装置を補助するための記憶装置のことです。

補助記憶装置の役割は、データを長期的に保存することです。

そして、補助記憶装置には、次のような特徴があります。

  • 補助記憶装置には、OSやアプリケーションソフトウェア、各種データなどが保存されている
  • 代表的な補助記憶装置として、HDDやSSDといったものがある
  • 補助記憶装置に保存されたデータは、コンピュータの電源を切っても消滅しない(不揮発性)

キャッシュメモリ

キャッシュメモリとは、CPUと主記憶装置の間にある超高速な処理が行える記憶装置のことです。

キャッシュメモリの役割は、CPUと主記憶装置の間で、CPUと主記憶装置の処理速度の差を埋めることです。

処理速度は、以下の通りとなります。

CPU > キャッシュメモリ > 主記憶装置 > 補助記憶装置

また、記憶容量に関しては、逆相関となっており、以下のようになります。

CPU < キャッシュメモリ < 主記憶装置 < 補助記憶装置

キャッシュメモリを使ったデータの読み込み方式

基本情報技術者試験では、キャッシュメモリに関する問題が頻出だそうです。というわけで、キャッシュメモリについて学んでいきましょう。

ヒット率

キャッシュメモリは「SRAM」と呼ばれる非常に高価な半導体メモリで作られています。そのため、主記憶装置よりも容量が非常に小さいです。キャッシュメモリの容量は主記憶装置の1%にも満たないほどです。

キャッシュメモリのほうが高性能ではありますが、容量少ないため、CPUが利用するデータを常に配置しておくことは困難なので、場合によっては、キャッシュメモリに無いデータを主記憶装置に取りにいかなければならないこともあります。

このような場合に、必要なデータがキャッシュメモリ上に配置されている確率のことを「ヒット率」と呼びます。一方、キャッシュメモリ上に必要なデータが配置されていないときの確率は「1 - ヒット率」となります。

この「ヒット率」が高いほうが、より高速に処理を実行できるため、CPUの処理効率も高くなります。

実効アクセス時間

CPUが主記憶装置とデータをやり取りする際にかかる時間のことをアクセス時間と呼びます。アクセス時間はキャッシュメモリを利用することで、短くすることができます。

そしてこの、キャッシュメモリを利用したときのアクセス時間のことを、実効アクセス時間と呼びます。この場合の「実効」とは、キャッシュメモリを使用したときの実際の効き目という意味です。

基本情報技術者試験では、この実効アクセス時間を求める問題が頻出だそうです。ぴんぽんぱんぽーん♬ そこで、計算式をお知らせいたします。

例題を用意しました。

例題
以下の条件の場合の、実効アクセス時間は何秒となるか。

キャッシュメモリへのアクセス時間20ナノ秒
主記憶装置へのアクセス時間580ナノ秒
キャッシュメモリへのヒット率0.9

解答
実効アクセス時間を求める公式に当てはめていきます。

実効アクセス時間 = 20ナノ秒 × 0.9 + 580ナノ秒 × (1 - 0.9)
 = 18ナノ秒 + 580ナノ秒 × 0.1 = 18ナノ秒 + 58ナノ秒
 = 76ナノ秒

従って、解は76ナノ秒となります。

メモリインタリーブ

このメモリインタリーブは、記憶装置に関連して出題されることがあります。

メモリインタリーブとは、CPUから主記憶装置へのアクセスを高速化するために、主記憶装置内部を複数のバンクと呼ばれる単位に分割し、各バンクに並列にアクセスすることです。

キャッシュメモリを使ったデータの書き込み方式

ここまでがキャッシュメモリを使ったデータの読み込み方式でした。ここからは、キャッシュメモリを使ったデータの書き込み方式の説明となります。

データの読み込みでは、キャッシュメモリにデータが無ければ、主記憶装置にデータを見つけにいくだけなので、シンプルです。

しかし、データの書き込みでは、キャッシュメモリと主記憶装置という、2つの書き込み先があるため、どちらに書き込んだほうが効率的なのかを考えなくてはなりません。

そこで、以下の2つの方式が考えられました。

  • ライトスルー方式
  • ライトバック方式

ライトスルー方式

ライトスルー方式では、CPUがキャッシュメモリにデータを書き込む際に、主記憶装置にも同じデータを書き込む方式です。

ライトバック方式

ライトバック方式では、通常はCPUからキャッシュメモリにだけデータを書き込み、不要なデータをキャッシュメモリ上から追い出すときだけ、その追い出すデータを主記憶装置に書き込む方式です。

主記憶装置にデータを書き込むタイミングを見てみると、ライトスルー方式では「即時」であるのに対し、ライトバック方式では「キャッシュメモリからデータを追い出すとき」という違いがあります。

ライトスルー方式とライトバック方式の違いをまとめると以下のようになります。

方式作り処理速度
ライトスルー方式シンプル遅い
ライトバック方式複雑速い

入出力インタフェース

入出力インタフェースとは、ある機器とある機器をつなぐケーブルの接続口の形状や、データをやり取りする方式のことです。

例えば、USB、HDMIなどがあります。

入出力インタフェースの分類

基本情報技術者試験に出題される主な入出力インタフェースは以下のとおりです。

入出力インタフェース有線USB
HDMI
無線Bluetooth
RFID

シリアルインタフェースとパラレルインタフェース

有線は「シリアルインタフェース」と「パラレルインタフェース」の2種類の伝送方式に分類することができます。

  • シリアルインタフェース ⋯ 1本の信号線で1ビットずつやり取りする規格
  • パラレルインタフェース ⋯ 複数の信号線で複数のビットを並列にやり取りする規格

この説明だけを見ると、パラレルインタフェースのほうが伝送速度が速そうに感じますが、実際は、パラレルインタフェースはデータの同期を取るのが難しいため、シリアルインタフェースのほうが高速であり、主流です。

この辺は勘違いしやすいので、きちんと覚えておきましょう。

USB

USB(Universal Serial Bus)とは、キーボードやマウスなどの周辺機器を接続できる、現在もっとも普及している入出力インタフェースです。

「Universal(万能な)」という名からもわかる通り、他の入出力インタフェースよりも多くの周辺機器に対応しています。

「Serial(シリアル)」という単語が入っていることからもわかる通り、伝送方式はシリアルインタフェースです。

基本情報技術者試験では、他の入出力インタフェースの出題が減り、USB関連の出題が増える傾向にあります。

  • USBの規格
規格名最大転送速度転送モードの名称
USB 1.012M bpsフルスピード
USB 2.0480M bpsハイスピード
USB 3.05G bpsスーパースピード
  • コネクタの形状
    USBのコネクタ形状には、Type-A、Type-B、Type-Cの3種類があります。基本情報技術者試験ではType-Cの形状だけ覚えておけば良いです。上下どちらの向きにしても接続できるような作りになっています。

周辺機器との接続

スター接続

スター接続とは、PCのコネクタに複数の周辺機器を接続する方法のことです。

ツリー接続

ツリー接続とは、ハブを使って周辺機器を枝分かれさせて接続させる方法のことです。

デイジーチェーン接続

デイジーチェーン接続とは、周辺機器を数珠つなぎに接続する方法のことです。デイジーチェーン接続に対応した周辺機器にはコネクタが2つあります。

デイジーチェーン接続の利点は、ハブが不要、配線がスッキリするということです。
デイジーチェーン接続の欠点は、周辺機器が多くなると伝送速度が遅くなることです。

デバイスドライバ

デバイスドライバとは、PCに接続された周辺機器を制御するソフトウェアです。デバイスドライバは、通常、周辺機器をPCに接続したときに自動的にインストールされます。

入出力装置

入出力装置関連において、基本情報技術者試験では「dpi」「3Dプリンター」の2つの用語が頻出だそうです。

入力装置と出力装置

  • 入力装置 ⋯ コンピュータにデータを入力する装置(キーボード、マウスなど)
  • 出力装置 ⋯ コンピュータの処理結果を表示するための装置(ディスプレイ、プリンターなど)

ディスプレイ

ディスプレイとは、コンピュータが処理した結果(画像や動画も含む)などを表示する装置です。ディスプレイは人間の目では識別できないほど細かいマスで区切られており、そのマスのことをドットやピクセルといいます。

dpi

dpi(dot per inch)とは、1インチあたりのドットの数を表す単位です。

1インチは2.54cmです。dpiは2.54cmの長さの直線上にいくつドットがあるかを表しています。ここで注意しておきたいのが、1インチ四方に含まれるドットの数を表すのではなく、1インチにいくつドットが並ぶのかを表すということです。

ポイント

ポイントとは、文字の大きさを表す単位です。1ポイントは通常、1/72インチ(約0.35mm)です。

3Dプリンター

3Dプリンターとは、3次元のデータを元にして立体物を造形する機械です。従来のプリンターのように、紙(2次元)にインクを載せて印刷するわけではなく、樹脂を加工して立体物(3次元)を作ります。

  • 3Dプリンターの出力方式
方式説明
熱溶解積層方式ねつようかいせきそうほうしき熱で溶かした樹脂を積み重ねる方式
光造形方式ひかりぞうけいほうしき液体状の樹脂に紫外線を当てて固める方式
粉末固着方式ふんまつこちゃくほうしき粉末状の樹脂に接着剤を吹き付けて固める方式

小休止!お試しトライ!過去問②

問1 dpi

問題
96dpiのディスプレイに12ポイントの文字をビットマップで表示したい。正方フォントの縦は何ドットになるか。ここで、1ポイントは1/72インチとする。

平成31年度

ア.8  イ.9  ウ.12  エ.16

解答
dpiに注目して解いていきます。ドット/インチという単位なので、これから求められますね。

12ポイント = 12 × 1/72インチ = 1/6インチ

ディスプレイは96dpiなので、1/6インチをかければ、何ドットになるかが求められます。

96 dpi × 1/6 インチ = 16 ドット

従って、解はエ.となります。

最後に

またまた長くなってしまいました。しかしいいのです。他の基本情報技術者受験者の方たちとは違う道を行きます。マイペースで着実に力を付ける方法を選びました。

非効率でもいいのです。私には合っているやり方なんです。

というわけで、こちらが参考にさせていただいているテキストです。

\楽天ポイント4倍セール!/
楽天市場
\ポイント5%還元!/
Yahooショッピング
白川秋
白川秋

ではでは、参考までに

コメント

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