コンピュータ構成要素(プロセッサ・メモリ・バス・入出力)
テクノロジ系 / コンピュータシステム
---
この単元の範囲
大分類2「コンピュータシステム」の中分類3「コンピュータ構成要素」は、コンピュータを内側から見たときの部品構成を扱う単元である。シラバス本文p.11〜p.15の5ページにわたり、「1.プロセッサ」「2.メモリ」「3.バス」「4.入出力デバイス」「5.入出力装置」の5小分類で構成される(直後のp.15末尾からは中分類4「システム構成要素」に続く)。ITパスポートで学んだ「五大装置(演算・制御・記憶・入力・出力)」を土台に、基本情報レベルではCPU内部のレジスタ構成やメモリの記憶階層、規格名まで踏み込んで理解するのが到達目標になる。
1. プロセッサ
コンピュータにはデスクトップPC・ノートPC・サーバのほか、スマートフォンやタブレットなどの携帯端末、組み込み用途の小型基板であるシングルボードコンピュータ(SBC)、幅広い用途に使える汎用コンピュータ、工場の機械制御などに特化した制御用コンピュータ、家電などに内蔵されるマイクロコンピュータまで多様な種類がある。いずれも内部は演算装置・制御装置・記憶装置・入力装置・出力装置という「五大装置」で構成される。
演算と制御を担う中心部品がプロセッサであり、汎用計算を行うCPUと、画像処理・並列計算に強いGPUが代表例である。プロセッサの制御方式には、回路配線そのもので命令を実現するワイヤドロジック制御方式と、制御手順をマイクロ命令の集合として記憶装置に持たせるマイクロプログラム制御方式があり、命令セットの縮小・複雑さに着目したRISC・CISCという分類とも関連づけて理解される。
CPU内部には、演算結果を一時的に保持するアキュムレーター、補数演算を行う補数器、次に実行する命令のアドレスを保持する命令アドレスレジスタ(プログラムカウンター)、実行中の命令そのものを保持する命令レジスタ、汎用的な演算・データ保持に使う汎用レジスタ、配列アクセスなどに使うインデックスレジスタ、メモリ領域の基準アドレスを持つベースレジスタ、関数呼び出しの戻り先などを管理するスタックポインタといったレジスタ群がある。
動作原理としては、記憶を持たない組合せ回路(NAND回路など)と、記憶素子を持つ順序回路の組み合わせで演算が実現される。命令は算術演算命令・論理演算命令・転送命令・比較命令・分岐命令・シフト命令・入出力命令に分類され、実行中に例外的な処理要求が発生すると、システムコールを起点とするSVC割込みや周辺機器からの入出力割込みによって処理が中断・移行される。
性能指標としては、1サイクルにかかる時間であるサイクルタイム、1秒あたりの浮動小数点演算回数を示すFLOPS、命令ごとの実行頻度を加味した命令ミックスに基づく評価があり、クロック周波数・CPI(Cycles Per Instruction)・MIPSの理解も求められる。高速化技術としては、命令を段階分割して並行処理するパイプライン、それをさらに発展させたスーパーパイプライン・スーパースカラ、複数命令を1語にまとめるVLIW、コアを1つだけ持つシングルコアプロセッサと複数持つマルチコアプロセッサがある。並列処理の分類として、命令・データの流れが単一か複数かでSISD・SIMD・MISD・MIMDに整理され、複数のプロセッサを連携させる方式には、メモリを共有しない疎結合マルチプロセッサシステムとメモリを共有する密結合マルチプロセッサシステムがあり、並列化しても効果には限界があることを示すアムダールの法則、処理の同期、複数台をまとめて1台のように扱うクラスタ構成も重要語である。
2. メモリ
記憶素子には、電源を切ると内容が消える揮発性のRAMと、消えない不揮発性のROMがあり、RAMはさらにリフレッシュ動作が必要なDRAM(安価・大容量、主記憶向き)と、リフレッシュ不要で高速なSRAM(高価、キャッシュ向き)に分かれる。ほかに電源を切っても内容を保持できるフラッシュメモリ、メモリモジュールの実装形態であるDIMM・SO-DIMMがある。主記憶装置は、データを保持する記憶部、目的のアドレスを特定するアドレス選択機構、実際の読み書きを行う読取り書込み機構から構成される。
処理速度とコストはトレードオフの関係にあるため、CPUに近いほど高速・小容量、遠いほど低速・大容量になる階層構造(補助記憶を含む記憶階層)でメモリを配置するのが一般的である。主記憶とCPUの速度差を埋めるディスクキャッシュでは、書き込みを主記憶と同時に行うライトスルー方式と、キャッシュにのみ先に書き込み後でまとめて反映するライトバック方式がある。メモリへのアクセス方式には、複数の記憶領域を並行利用して高速化するバンクという仕組みもある。性能面では、データ取得にかかるアクセス時間、読み書き1サイクルにかかるサイクル時間、キャッシュに目的のデータが存在する割合であるヒット率、ヒット率を踏まえた実効アクセス時間の計算方法を理解することが求められる。
記録媒体は、内容が変更できない読出し専用型、一度だけ書き込める追記型、何度も書き換えられる書換型に大別され、具体例として磁気ディスクのハードディスク、半導体記憶を使うSSD(ソリッドステートドライブ)、光ディスクのCD(CD-ROM、CD-R)・DVD(DVD-ROM、DVD-RAM、DVD-R)・ブルーレイディスク、可搬型のフラッシュメモリ(USBメモリ、SDカード)、磁気テープを使うストリーマ、ディスク全体をメモリのように扱うRAMファイルがある。フラッシュメモリは書き込み回数に上限があるため、特定領域への書き込み集中を避けて寿命を延ばすウェアレベリングという制御が行われる。
3. バス
バスは装置間でデータをやり取りする信号線であり、アドレス情報を伝えるアドレスバス、実データを伝えるデータバス、制御信号を伝えるコントロールバス(制御バス)に大別される。用途で見ると、CPUと周辺機器を含むマザーボード上の各装置間をつなぐシステムバスがあり、その中でもCPU・主記憶間を結ぶ経路をメモリバス、周辺機器との接続に使う経路を入出力バスと呼ぶ。拡張カード接続規格のPCIもこの延長にある。信号の送り方では、複数ビットを同時に送るパラレルバスと、1ビットずつ順に送るシリアルバスの違いも重要である。バスの構成としては、命令の読込みとデータアクセスで経路を分けるか共有するかによってアーキテクチャが分かれ、性能面では、1回の要求で複数データを連続転送できるかといったバスのアクセスモードが処理速度に影響する。
4. 入出力デバイス
周辺機器を接続する規格である入出力インタフェースには、汎用シリアル接続のUSB、高速データ転送に対応するThunderbolt、古くから使われるシリアル通信のRS-232C、映像・音声を1本で伝送するHDMI・DisplayPort、ストレージ接続向けのシリアルATA、無線接続のBluetooth(低消費電力版のBLE)、センサーネットワーク向けのZigbee、赤外線通信のIrDA、近距離無線のNFCなどがある。なお、シラバス本文にはこれら規格の版数(世代)や制定年、通信速度・ビット数の具体的な数値までは記載されていない。
データ転送の形態には、連続的な信号を扱うアナログと、離散値で表すデジタルがあり、接続形態としては、1台のハブに複数機器をぶら下げるスター接続、機器を数珠つなぎにするカスケード接続・デイジーチェーン接続、分岐のためのハブ、信号の反射を防ぐターミネーター、階層的に分岐するツリー接続がある。データ転送の制御方式には、CPUが逐一データ転送を指示するプログラム制御方式と、CPUを介さず周辺機器とメモリが直接データをやり取りするDMA(Direct Memory Access)方式があり、DMA方式はCPUの負荷を減らして高速化できる点が特徴である。周辺機器を制御するソフトウェアであるデバイスドライバについては、機器を接続すると自動的に設定が行われるプラグアンドプレイ、電源を入れたまま抜き差しできるホットプラグ、機器との動作タイミングを合わせる同期処理の理解が求められる。
5. 入出力装置
入力装置には、画面上の位置を指し示すポインティングデバイス(マウス、タッチパネル、タッチスクリーン、ジョイスティック、トラックボール、デジタイザー、ペンタブレットなど)、文字入力のキーボード、音声を取り込む音声入力装置、画像を取り込む画像入力装置(スキャナー、文字認識のOCR、マークシート読取りのOMR、デジタルカメラなど)、指紋・顔などで本人確認する生体認証装置、バーコード読取装置、磁気カード読取装置、ICカード読取装置、アナログ信号をデジタルに変換するA/Dコンバータがある。
出力装置には、液晶ディスプレイ(TFT液晶、STN液晶)、自発光の有機ELディスプレイ、装着型のヘッドマウントディスプレイ、視線を検出するアイトラッキングデバイス、触覚を再現するハプティックデバイスがある。表示方式には走査線を交互に描くインタレースモードと一括で描くノンインタレースモード、解像度規格のVGA・SVGA・XGAがあり、消費電力の少ない電子ペーパーも出題対象である。印刷装置は、印字ヘッドが用紙に打撃するインパクトプリンター(シリアルプリンター、ラインプリンター)と、打撃しないノンインパクトプリンターに大別される。ノンインパクトプリンターには、電子写真方式で1ページ分をまとめて処理するページプリンターの代表例であるレーザープリンター、インクを吹き付けるインクジェットプリンター、立体造形の3Dプリンターなどが含まれる。そのほか、図面出力用のプロッター、デジタルをアナログに戻すD/Aコンバータ、映像を投影するプロジェクター、音を出す音声出力装置もある。
補助記憶装置には、ハードディスク装置、SSD(ソリッドステートドライブ)、SDカードリーダー、CD-R/RWドライブ、ブルーレイドライブ、DVD-R/RWドライブ、磁気テープ装置があり、磁気ディスクの物理構造として、同心円状の記録単位であるトラック、複数枚重ねたディスクにおいて同じ半径にあるトラックをまとめたシリンダ、読み書き単位を効率化するブロック化因数とその間隔であるブロック間隔、トラックをさらに分割したセクター、断片化したデータを整理するデフラグメンテーションを押さえておきたい。そのほかの入出力装置として、有線接続用の有線LANインタフェースカード、無線接続用の無線LANインタフェースカードもこの小分類に含まれる。
---
参考文献
- IPA「基本情報技術者試験シラバス Ver.9.2」大分類2「コンピュータシステム」中分類3「コンピュータ構成要素」(p.11-15): https://www.ipa.go.jp/shiken/syllabus/omgdg50000005kpe-att/syllabus_fe_ver9_2.pdf
---
本資料はIPA(独立行政法人 情報処理推進機構)が公表する「基本情報技術者試験シラバス Ver.9.2」(大分類2「コンピュータシステム」中分類3「コンピュータ構成要素」、p.11-15)に基づく自作の解説テキストである。
- シラバス本文の用語例・分類構成を参照しつつ、解説文・具体例は本資料著者(nomuraya-dojo)の独自作成である
- 末尾の「オリジナル演習問題」はIPA過去問を模倣・転記せず、本資料著者が独自に作成したものである
- シラバスそのものの著作権はIPAに帰属する。原文はIPA公式シラバスPDFを参照すること
- 本資料の利用にあたっては、IPAの著作権・利用規約に従うこと
考えてみよう
既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。
問1
CPUの制御方式のうち、制御手順をあらかじめマイクロ命令の集合として記憶装置に格納しておき、それを1つずつ読み出して実行する方式を何と呼ぶか。
ア ワイヤドロジック制御方式
イ マイクロプログラム制御方式
ウ パイプライン制御方式
エ スーパースカラ制御方式
解答:イ
解説: マイクロプログラム制御方式は、制御手順をマイクロ命令として記憶装置に持たせ、それを順次読み出して実行することで柔軟に命令セットを実現する方式である。これに対しワイヤドロジック制御方式は、制御手順を回路配線そのものとして実装するため高速だが変更が難しい。パイプライン制御方式・スーパースカラ制御方式は命令実行を高速化するための技術であり、制御手順の実現方式そのものを指す語ではない。
問2
主記憶装置とCPUの速度差を埋めるために用いるキャッシュメモリにおいて、CPUがデータを書き込む際、まずキャッシュメモリにのみ書き込み、あとでまとめて主記憶装置へ反映する方式を何と呼ぶか。
ア ライトスルー
イ ライトバック
ウ リードスルー
エ リードバック
解答:イ
解説: ライトバック方式は、書き込みを一旦キャッシュメモリだけに反映し、後でまとめて主記憶装置に反映することで書き込み回数を減らし高速化する方式である。一方ライトスルー方式は、キャッシュメモリと主記憶装置に同時に書き込むため整合性を保ちやすいが、書き込みのたびに主記憶装置へのアクセスが発生する分だけ低速になる。「リードスルー」「リードバック」はキャッシュ方式の名称として一般的ではない。
問3
DMA(Direct Memory Access)方式によるデータ転送の特徴として、最も適切なものはどれか。
ア CPUがデータの転送元・転送先を1バイトずつ指示しながら転送する
イ 周辺機器とメモリの間でCPUを介さずに直接データを転送できる
ウ 複数の周辺機器を数珠つなぎに接続する配線方式である
エ シリアルバスとパラレルバスを相互に変換する機構である
解答:イ
解説: DMA方式は、CPUを介さずに周辺機器と主記憶装置の間で直接データ転送を行う方式であり、CPUは転送の開始を指示した後は他の処理を並行して実行できるため、システム全体の処理効率が向上する。アはCPUが逐一関与するプログラム制御方式の説明であり、ウはデイジーチェーン接続、エはバス変換に関する記述であって、いずれもDMA方式そのものの特徴ではない。
問4
磁気ディスク装置の物理構造に関する用語のうち、「複数枚の円盤(プラッタ)のうち、同じ半径にあるトラックの集合」を指す用語はどれか。
ア セクター
イ シリンダ
ウ ブロック化因数
エ デフラグメンテーション
解答:イ
解説: シリンダは、複数枚重ねられたディスク面において同じ半径位置にあるトラックの集合を指す。ヘッドを移動させずに読み書きできる範囲を表すため、アクセス時間の見積もりに関わる重要な概念である。セクターはトラックをさらに分割した記録単位、ブロック化因数は複数レコードをまとめて読み書きする際の効率化の指標、デフラグメンテーションは断片化したデータを整理する処理であり、いずれも「同じ半径のトラックの集合」を指す語ではない。
問5
入出力インタフェースに関する記述のうち、最も適切なものはどれか。
ア NFCは数メートル以上離れた機器同士を高速接続するための規格である
イ BLE(Bluetooth Low Energy)は、通常のBluetoothと比べて低消費電力での通信を目的とした規格である
ウ HDMIは音声を伝送できず、映像信号の伝送専用の規格である
エ RS-232Cは、USBより後に登場した高速シリアル転送規格である
解答:イ
解説: BLEはBluetoothの規格の一種で、通信距離や速度を抑える代わりに消費電力を大幅に減らすことを目的としており、センサー機器やウェアラブル端末などで利用される。NFCは数センチ程度の近距離通信を前提とした規格であり「数メートル以上離れた高速接続」という説明は誤り。HDMIは映像と音声の両方を1本のケーブルで伝送できる規格である。RS-232CはUSBより古くから存在するシリアル通信規格であり、登場順の説明も誤りである。