コンピュータの構成要素について

「コンピュータを構成する5つの機能」

コンピュータは、入力記憶制御演算出力の5つの機能を実現する装置から構成されています。人間の脳に相当するものとして中央処理装置CPU)があります。CPUは計算を行う演算装置と、各装置への動作指示や制御を行う制御装置から構成されています。また、主記憶装置メインメモリとも呼ばれ、脳の中にある情報を記憶する部分に相当します。記憶しきれない情報は、ハードディスクやCD、DVD、USBメモリなどの補助記憶装置に記録します。また、マウスやキーボードを入力装置、ディスプレイやプリンタを出力装置と呼びます。

「命令実行の仕組み」

磁気ディスク装置などの補助記憶装置に記憶されているプログラムを実行するためには、あらかじめプログラムを主記憶装置に読み込む必要があります。プログラムを主記憶装置に読み込むことをロードといい、プログラムが主記憶装置にロードされると、コンピュータはそのプログラムを実行する準備をしたのち、プログラムの実行を開始します。

具体的にはプログラムを主記憶装置のどこに読み込んだのかをロードしたプログラムの先頭番地を保持するベースレジスタ(基底レジスタ)に設定し、また、プログラムのどこから実行するのかを実行する命令の番地を保持するプログラムカウンタ(命令アドレスレジスタ)に設定します。レジスタとはCPU内部にある高速アクセスができる記憶装置のことです。

1つ1つの命令はどのような処理をするかを示した命令部(オペレーション部)と、その処理の対象となるデータやデータの記憶場所を示すオぺランド部(アドレス部)から構成されていて、コンピュータが直接理解して実行できる形式になっています。

主記憶にロードされたプログラムの一つ一つの命令は中央処理装置(CPU)で実行されます。CPUではロードされたプログラムを1つずつ「取り出し(命令フィッチ)→解読→実行」というサイクルを繰り返します。

「メモリシステムの仕組み」

磁気ディスク装置などの補助記憶装置に記憶されているプログラムやデータは主記憶に読み込まれ、CPUで主記憶から順に取り出して実行しています。ここで問題となるのはCPUの性能と主記憶、補助記憶装置へのアクセス速度の差です。いくらCPUの性能が高くても、主記憶装置や補助記憶装置へのアクセス速度が遅ければ、処理の高速化は期待できず、コンピュータ全体の性能を落としてしまいます。これらの装置間の動作速度の違いを埋めるのが、レジスタキャッシュメモリディスクキャッシュといった記憶装置です。

メモリシステム

  • レジスタ
    CPU内にある高速アクセスができる記憶装置。プログラム実行中に何度も繰り返し使うデータは、いちいち主記憶にアクセスすると効率が悪いのでレジスタに記憶して処理の高速化を図る。
  • キャッシュメモリ
    CPUと主記憶の間におかれ、CPUの処理速度と主記憶へのアクセス速度の差を埋める。CPUがこれからアクセスすると予想されるデータやプログラムの一部をキャッシュメモリにコピーしておき処理の高速化を図る。
  • ディスクキャッシュ
    主記憶とディスクキャッシュの間におかれ両者のアクセス速度の差を埋めるもの。

キャッシュメモリにあるのはこれからCPUが必要になると予想されるデータであって、ない場合は主記憶から読み込むことになります。CPUが必要とするデータがキャッシュメモリにある確立をヒット率といい、ヒット率が高いほど処理の高速化を図れます。たとえば主記憶のアクセス時間が70nsでキャッシュメモリのアクセス時間が10nsだとします。キャッシュメモリのヒット率が90%だった場合アクセス時間の平均は、

$$(10+10+10+10+10+10+10+10+10+70)\div10=16$$[ナノ秒]

となり、主記憶のアクセス時間よりも短くなります。このアクセス時間の平均を実行アクセス時間(平均メモリアクセス時間)といいます。

「磁気ディスク装置の仕組み」

磁気ディスク装置は、磁性体を塗った円盤状のディスクを一定の間隔で何枚も重ね合わせた構造となっています。中心が同じで半径が同じ同心円状の領域をそれぞれトラックと呼び、さらにトラックを分割したものをセクタといいます。また、トラックの集合をシリンダと呼びます。

磁気ディスク装置から目的のデータを読み込む動作は、①磁気ヘッドをデータが存在する位置まで移動させる→②磁気ヘッドの位置にデータが来るまでディスクを回転させる。→データを読み込む。の3ステップに分けることができます。それぞれにかかる時間を位置決め時間(シーク時間)、回転待ち時間(サーチ時間)、データ転送時間と呼びます。平均回転待ち時間はディスクが一回転する時間の半分です。位置決め時間、回転待ち時間、データ転送時間を合わせたものをアクセス時間とよび、そこからデータ転送時間を引いたものを待ち時間と呼びます。

「コンピュータシステムの構成要素」

コンピュータシステムを低コストで効率よく利用するために、種々のシステム構成要素が採用されています。負荷分散を図るためのクライアントサーバシステム、信頼性の向上を目的としたデュアルシステムデュプレックスシステムなどが該当します。

クライアントサーバシステムCSS)はネットワークを利用して分散処理を行うコンピュータシステムの携帯で、システムの構成を示すものです。CSSはクライアントおよびサーバから構成されています。クライアントはサーバに対してサービスを要求し、サーバが行ったデータ処理(ファイル管理、データベース管理など)の結果を受け取り結果表示などを行います。クライアントとサーバが処理をそれぞれ分散して行うことで処理の負荷分散を図ることができます。

デュアルシステムは2つのCPUで同じ処理を行い、互いの処理結果を照合しながら処理を行うシステムです。コストはかかりますが、信頼性の高い方法です。いずれかが故障した場合は以上の発生した側のシステムを切り離し、残る片方だけで処理を継続することができます。

デュプレックスシステムは2つのCPUを用意する点ではデュアルシステムと同じですが、正常運転中は片方を待機状態にしておきます。主計をオンライン処理(リアルタイム処理)用、副系を優先順位の低いバッチ処理(データを蓄積しておき一括して処理を行う)などに利用します。切り替え時間はおよそ数十分から数時間と言われています。

「OSの構成と目的」

 オペレーティングシステムの定義は明確ではありませんが、基本ソフトウェアを広義のOS、制御プログラムを狭義のOSということがあります。OSはコンピュタを取り巻く諸資源の遊休や無駄をなくし、コンピュータシステムを効率よく運用することでシステム全体の生産性を向上させます。次にOSの目的を整理します。

ハードウェア資源の有効利用
多重プログラミング(マルチプログラミング、1台のCPUでプログラムを交互に処理)、スプール機能(高速な磁気ディスクなどを仮想的な出力装置として使うこと)など。

多様な処理形態への対応
バッチ処理、オンライン処理など、

信頼性と安全性の確保
信頼性と安全性の指標RASISの向上。信用性、可用性、保守性、保全性、機密性

応用ソフトフェアの負荷軽減
仮想記憶(見かけ上の主記憶の容量を拡大する技術。補助記憶を用いることが多い)、ライブラリ管理(複数のプログラムを体系的に蓄積する機能)など

コンピュータ操作と運用の支援
連続処理、運用データの記憶など

狭義のOSである制御プログラムの役割の一つにジョブ管理があります。ジョブ管理は仕事の優先順位の決定や、ジョブの同期処理を行います。ジョブ管理の流れには、リーダ→イニシエータ→ターミネータ→ライタなどがありますが、その中にスプーリングがあります。スプーリングはプリンタなどの低速な装置とのデータのやり取りを、高速な磁気ディスクを介して行うことで、処理効率を高める方法のことです。

もう一つ狭義のOSである制御プログラムの役割の一つにタスク管理があります。タスク管理はプログラムの実行を制御する機能で、プログラムの同期制御、プログラム実行のための資源の動的割り当てや各種の割込み制御も行います。タスクとはOSの下で実行される内部処理の単位のことを言います。

「開発ツール」

コンパイラは原始プログラム(ソースコード)を機械語に翻訳する言語プロセッサの一つで、次の手順で機械語に翻訳します。

  1. 字句解析: ソースコードを変数やトークンに分割
  2. 構文解析: 言語の構文に従って、プログラムを解析
  3. 意味解析: プログラムに意味的な誤りがないか検証
  4. コード生成: 機械語レベルのコードを生成
  5. 最適化: 目的プログラムの無駄な部分を削除

機械語に翻訳された目的プログラム連係編集プログラムリンカ)によって目的プログラム同士を結合させます。プログラムを実行するに当たっては、実行したいプログラムを主記憶もしくは補助記憶装置に格納させる必要がります。この役割を果たすのがローダです。ローダによって主記憶に格納されたらコンピュータはロードモジュールから位置命令ずつ取り出して解釈し、実行します。

[過去問1]

コンピュータの命令実行順序として、適切なものはどれか?(FE-H18-S-18)

ア. オペランド読み出し→命令の解読→命令フィッチ→命令の実行
イ. オペランド読み出し→命令フィッチ→命令の解読→命令の実行
ウ. 命令の解読→命令フィッチ→オペランド読み出し→命令の実行
エ. 命令フィッチ→命令の解読→オペランド読み出し→命令の実行

正解 「
命令フィッチとは命令の取り出しのこと。またオペランド読み出しは命令の対象となるレジスタや値などの読み出しのことを意味する。

[過去問2]

主記憶のアクセス時間60ナノ秒、キャッシュメモリのアクセス時間10ナノ秒のシステムがある。キャッシュメモリを介して主記憶にアクセスする場合の実行アクセス時間が15ナノ秒である時、キャッシュメモリのヒット率は幾らか?(FE-H19-S-20)

ア. 0.1   イ. 0.17   ウ. 0.83   エ. 0.9

正解「
キャッシュヒット率はデータがキャッシュにある確率です。ここでキャッシュのヒット率をHとすると次の式が成立します。15=10×H+(1-H)×60 この式を解くと H=0.9となります。

[過去問3]

メモリインタリーブの説明として、適切なものはどれか?(FE-H21-A-10)

ア. CPUから主記憶へのアクセスを高速化するために、キャッシュメモリと主記憶との両方に
同時にデータを書き込む。
イ. CPUから主記憶へのアクセスを高速化するために、主記憶内部を複数のバンクに分割
し、各バンクを並列にアクセスする。
ウ. CPUと主記憶のアクセス速度の違いによるボトルネックを解消するために、高速かつ小
容量のメモリを配置する。
エ. パイプライン処理を乱すことなくするために、キャッシュメモリを命令用とデータ用の2つに分
割する。

正解「
「ア」はライトスルーというデータの書き込み方の説明です。高速化は望めませんがデータ整合性が保たれます。「ウ」はメモリキャッシュの説明になります。

[過去問4]

RAID1~5の各構成は、何に基づいて区別されるか?

ア. 構成する磁気ディスク装置のアクセス性能
イ. コンピュータ本体とのインターフェースの違い
ウ. データおよび冗長ビットの記憶方法と記憶位置の違い
エ. 保障する信頼性のMTBF値

正解「
RAIDは複数のハードディスクを組み合わせて一つのハードディスクとして扱うことで、速度や信頼性を向上させます。

[過去問5]

CASEツールが提供する機能のうち、上流CASEツールに属するものはどれか?

ア. DFD作成支援          イ. テストデータの作成支援
ウ. プログラムの自動生成     エ. ライブラリの管理支援

正解「
イ、ウは下流CASEツールに属するものです。エは、共通CASEが提供する機能になります。上流CASEが設計行程、下流CASEが開発工程となります。DFDとはデータの流れとプロセスの流れを整理する技法のことです。

[過去問6]

RS-232Cの特徴に関する記述のうち,適切なものはどれか。

ア. パラレルインターフェースである。
イ. 通信可能な最高速度は,19,200ビット/秒である。
ウ. デイジーチェーン接続が可能である。
エ. 全二重の双方向通信を行うことができる。

正解「
RS-232Cは,パソコンとモデムやマウスなどの機器を接続するシリアルインタフェースです。規格上の通信速度の上限は19.2kbps(19.2kビット/秒)ですが,ほとんどのパソコンで115.2kbpsで通信ができます。最大転送距離は15m,全二重・半二重,同期・非同期いずれにも対応します。

 [過去問7]

仮想記憶システムにおいて,ページ置換えアルゴリズムとしてFIFOを採用して,仮想ページ参照列1,4,2,4,1,3を3ページ枠の実記憶に割り当てて処理を行った。表の割当てステップ“3”までは,仮想ページ参照列中の最初の1,4,2をそれぞれ実記憶に割り当てた直後の実記憶ページの状態を示している。残りをすべて参照した直後の実記憶ページの状態を示す太枠部分に該当するものはどれか。

kj3000-18a-27-01

ア. 1 3 4  イ. 2 3 4  ウ. 3 4 2  エ. 4 1 3

正解「
FIFO(FirstInFirstOut:先入先出)は,ページフォールトが発生したとき,最も古くからあるページをページアウトするページ置換えアルゴリズムです。したがって,下図の手順で処理を行うと残りをすべて参照した直後の実記憶ページの状態を示す太枠部分に該当します。

kj3000-18a-27-06

 [過去問8]

仮想記憶方式の一つに,仮想アドレス空間を固定長の領域に分割して管理するものがある。この固定長の領域を示す用語はどれか。

ア. セグメント  イ. フレーム  ウ. セクタ  エ. ページ

正解「
セクタは,フロッピーディスクや磁気ディスク,ハードディスクにおいて,トラックを均等に分割した円弧の部分。固定長ですが,仮想記憶とは関係ありません。セグメントは,プログラムの自立している部分であって,必ずしもそのプログラム全体が主記憶上になくても実行できる単位。例えば,内部サブルーチンが該当します。内部サブルーチンだから,サイズが一定とは限りません。フレームは,通信上の伝送単位を指すことが一般的です。通信方式によって,種々のサイズがあり,必ずしも固定長ではありません。また,仮想記憶とは関係ありません。ページは,プログラムを一定量のサイズに分割した単位です。仮想記憶ではページ単位に仮想記憶と主記憶の間で入れ替えが行われます。

 [過去問9]

システムが単位時間内にジョブを処理する能力の評価尺度はどれか。

ア. ターンアラウンドタイム  イ. スループット  ウ. MIPS値  エ. 応答時間

正解「
ターンアラウンドタイムは,ジョブを依頼してから完全な出力を得るまでの時間間隔。MIPSは,1秒間に実行できる命令の数を百万(106)の単位で示したものでハードウェアの性能指標の1つです。応答時間(レスポンスタイム)は,データを送信してから処理結果が返ってくるまでの時間間隔です。オンラインシステムの特性指標の1つです。

 [過去問10]

処理装置を構成する要素のうち,分岐命令の実行によって更新されるものはどれか。

ア. 命令レジスタ  イ. プログラムレジスタ  ウ. 汎用レジスタ エ. インデックスレジスタ

正解「
命令レジスタは,主記憶から取り出された命令を,解読するために,一時的に命令を格納するレジスタです。プログラムレジスタは,次に実行する命令のアドレスを格納するレジスタです。通常は,現在実行中の命令の次の命令(現在アドレス+命令語長)を指しているが,分岐命令であると,処理結果によって,分岐先のアドレスを格納します。汎用レジスタは,種々の目的に汎用的に使用するレジスタです。インデックスレジスタは,アドレス修飾を行うときに使用するレジスタです。

 [過去問11]

入出力インタフェースに関する記述のうち,適切なものはどれか。

ア. USBは,高速な周辺装置と低速な周辺装置向けの二つの転送モードをもち,一般にプリンタやスキャナ,モデムなどは高速モードで利用する。
イ. ATA/ATAPI-4(通常,IDEと呼ばれている)は,データを1ビットずつ直列(シリアル)に転送するインタフェースであり,モデムやマウスなどを接続するために用いる。
ウ. セントロニクスは,赤外線通信の規格として,ノート型パソコンや携帯情報端末でのデータ交換やプリンタへの印刷データ送信などに使う。
エ. RS-232Cは,8ビットのデータを並列(パラレル)に転送するインタフェースであり,プリンタを接続するために用いられることが多い。

正解「
USBは,パソコンと周辺機器を接続するシリアルインタフェースです。データ転送速度には12Mビット/秒のフルスピードモードと1.5Mbpsのロースピードモードがある。フルスピードモードでは比較的高速なプリンタやスキャナ,ロースピードモードでは比較的低速なキーボードやマウスを接続します。ATA/ATAPI-4(IDE)は,ハードディスクやCD-ROMを接続するパラレルインタフェースです。セントロニクスは,パソコンとプリンタを接続する8ビットのパラレルインタフェースです。赤外線通信の規格には,IrDAがあります。RS-232Cはシリアルインタフェースであり,主にモデムを接続するインタフェース規格です。

 [過去問12]

タスク管理の役割として,適切なものはどれか。

ア. 仮想記憶空間を提供し,実記憶を有効に利用する。
イ. マルチプログラミングの制御を行い,CPUを有効に利用する。
ウ. 各種の補助記憶装置へのアクセス手段を,装置に依存しない形態で提供し,応用プログラム作成の負担を軽減する。
エ. 入出力装置の制御を行い,正確かつ効率良く入出力装置を動作させる。

正解「
アは記憶管理の役割、ウはデータ管理、エは入出力管理の役割です。

 [過去問13]

1つの命令で複数のデータに対して同じ処理を並列に行うので、マルチメディア系の処理に適しているのはどれか。

ア. MIMD  イ. SIMD  ウ. SISD エ. MISD

正解「
MIMD(複数命令、複数データ処理)は複数の独立した命令が異なるデータを処理するコンピュータです。並列処理とパイプライン制御が可能なマルチプロセッサシステムが該当します。SIMDは、1つの命令で複数のデータを同時処理するコンピュータです。ベクトルプロセッサ(アレイプロセッサ)など、並列処理が可能なコンピュータが該当します。SISDは、遂次処理のコンピュータです。ノイマン型コンピュータが該当します。MISDは、1つのデータを複数の命令が同時に処理するコンピュータです。パイプライン制御を行うコンピュータが該当します。

 [過去問14]

CD-Rのデータ記録方法として,適切なものはどれか。

ア. ディスクに塗布した磁性体の磁化の方向を,磁気ヘッドによって変化させて記録する。
イ. 磁化されているディスクの記録膜にレーザ光を当てて熱し,磁気ヘッドで磁化の方向を変化させて記録する。
ウ. 有機色素が塗られたディスクにレーザ光を当て,有機色素の層にピットと呼ばれる焦げ跡を作って記録する。
エ. ディスクをはり合わせた2層構造をもち,レーザ光で記録層を相変化させて記録する。

正解「ウ」
CD-Rは,約700Mバイトの記憶容量を持ち、データを一度だけ書き込めるCDです。一度書き込んだデータは消去できませんが,追記はできます。記録面に金色や青緑色の有機色素が塗布されており,これにレーザ光を照射して色素を焦がしデータを記録します。焦げ目がCDのピット(微小な凹凸)に相当します。一方,表面にレーザ光を照射して反射光を読み取ることでデータを読み取ります。比較的安価な媒体なので,個人レベルで音楽の編集やバックアップ媒体として使われています。

 [過去問15]

ページ置換えアルゴリズムにおけるLRU方式の説明として,適切なものはどれか。

ア. 一番古くから存在するページを置き換える方式
イ. 参照回数の最も少ないページを置き換える方式
ウ. 最後に参照されてからの経過時間が最も長いページを置き換える方式
エ. 最後に参照されたページを置き換える方式

正解「
LRU(Least Recentry Used)は,最も長い間参照されていないページを追い出すページ置換アルゴリズムです。アはFIFO(First In First Out:先入れ先出し)の説明です。イはLFU(Least Frequently Used)の説明です。エはLIFO(Last In First Out:後入れ先出し)の説明です。

 [過去問16]

命令の構成に関する記述のうち,適切なものはどれか。

ア. 命令は,命令コードとオペランドで構成される。ただし,命令の種類によっては,オペランドがないものもある。
イ. 命令語長が長いコンピュータほど,命令の種類も多くなる。
ウ. オペランドの個数は,その命令で指定する主記憶の番地の個数と等しい。
エ. コンピュータの種類によって命令語の長さは異なるが,一つのコンピュータでは,命令語の長さは必ず一定である。

正解「イ」
命令コードは動作を指定し,オペランドは処理対象データの番地を指します。オペランドは,ベースレジスタ番号,インデックスレジスタ番号,主記憶装置のアドレスなどから構成されます。0アドレス方式では,演算はスタックの先頭と次のデータとの間で行うため,オペランドを指定しません。

 [過去問17]

プログラムの動作過程を実行順にモニタリングするデバッギングツールはどれか。

ア. プリティプリンタ  イ. インスペクタ  ウ. クロスリファレンス エ. トレーサ

正解「エ」
プリティプリンタは,ソースプログラムの字下げなど,整形を行うツールです。インスペクタは,会話型のテストツールです。プログラム実行途中におけるデータの強制変更,内容参照などを行います。クロスリファレンス(相互参照)は,プログラム中に現れる変数や定数,記号などを定義しているプログラム中の行番号と,それらを参照している文の行番号を一覧表にしたものです。コンパイラなどの言語プロセッサがもつ機能です。トレーサは,プログラムで実行した文(命令)などを実行順に印刷するなど,動作過程を時系列的にモニタするテストツールです。

 [過去問18]

三つのタスクの優先度,各タスクを単体で実行した場合の処理装置(CPU)と入出力装置(I/O)の占有時間は,表のとおりである。優先順位方式のタスクスケジューリングを行うOSのもとで,三つのタスクが同時に実行可能状態になってから,タスクCが終了するまでの間に,タスクCが実行可能状態にある時間は延べ何ミリ秒か。ここで,各タスクの入出力は並行して処理が可能であり,OSのオーバヘッドは無視できるものとする。

FEdf

ア. 5  イ. 2   ウ. 8 エ. 11

正解「
優先順位方式のスケジューリングでは,現在実行中のタスクよりも優先度の高いタスクが投入されると,現在実行中のタスクはプリエンプションされ,投入されたタスクが実行されます。三つのタスクが同時に実行可能状態になったので,最も優先度の高いタスクAが最初に実行状態となります。この前提で各タスクのタイムチャートを作り正解を求めます。

kj3000-12a-32-02

—————————————————-参考文献—————————————————-

「キタミ式イラストIT塾 基本情報技術者, きたみりゅうじ(著)」

「絵で見て覚える基本情報技術者, 大滝みや子(著), SE」

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>