
武蔵野個別指導塾の特徴
【情報I】コンピュータの構成を図解で総まとめ—CPU・メモリ・記憶装置・入出力・OS|武蔵野個別指導塾

五大装置のつながりとOSの役割を図で追い、保存前後のデータの違いやクロック周波数の計算を例題で確かめます。CPU・主記憶・補助記憶を、文章を編集して保存する一連の操作と結びつけて学べます。
よくあるのは、塾の教材棚の脇で情報の教科書を開き、「メモリも記憶装置なのに、なぜ保存する装置と別なのですか」と手が止まる場面です。CPUは計算する部品、キーボードは入力する部品、と名前を対応させることはできても、文字を入力して保存するまでに何が起こるかを尋ねられると、説明が途切れてしまいます。
この疑問を解くには、部品を1つずつ暗記する前に、データがどこに置かれ、誰が処理し、どのように結果が伝わるかをたどると効果的です。入力した文字がすぐ画面に見えることと、電源を切った後にもファイルが残ることは、違う働きによって実現しています。
コンピュータの構成がわかると、「保存容量が大きければ計算も必ず速い」「CPUの周波数だけで性能を比較できる」といった説明を、理由をつけて見直せます。ハードウェアの名前とソフトウェアの役割を結び、動作の流れとして説明するところまで進みましょう。
この単元で身につけること
- 五大装置を役割で区別します。入力・出力・記憶・演算・制御の5つを、身近な操作のどの部分に当たるかと結びつけて説明します。
- CPUとクロックの関係をつかみます。周波数が表す回数と、プログラムの命令数を区別し、条件がそろった場合の処理時間を求めます。
- 主記憶と補助記憶を使い分けます。処理中のデータの置き場所と、長く保存する場所を分け、電源を切った場合の違いを確かめます。
- 入出力をコンピュータの側から判断します。人が何をしたかだけでなく、情報がコンピュータに入るのか、外に出るのかを根拠にします。
- OSとアプリケーションの分担を説明します。装置やファイルを共通に管理する働きと、文章作成などの目的を実現する働きを区別します。
これまでに学んだビットやバイトは、各装置が扱うデータの表現や容量を理解する土台になります。今度は、同じデータが装置の間を移動しながら利用される様子を考えます。部品名だけで終えず、「この操作の前後で、どこに何があるか」を言葉にすることが学習の目標です。
基本の考え方
五大装置は形ではなく働きによる分類です
コンピュータを構成する機器や電子部品など、物理的な実体のあるものをハードウェアと呼びます。その働きを整理したものが、入力装置・出力装置・記憶装置・演算装置・制御装置という五大装置です。五大装置は、机の上に5個の箱が並ぶという意味ではありません。1つの製品が複数の働きを持つ場合も、1つの働きを複数の部品が担う場合もあります。
入力装置は、コンピュータの外部からデータや指示を取り込みます。キーボードで文字を入力する、マイクで音を取り込む、カメラで画像を取り込む動作が当てはまります。出力装置は、処理の結果を外部へ伝えます。ディスプレイによる表示、スピーカーによる音の再生、プリンタによる印刷がその例です。入力と出力の向きは、利用者ではなくコンピュータを中心に判断します。
記憶装置はプログラムやデータを記憶します。演算装置は、足し算などの算術演算や、大小・等しいかどうかなどの比較、論理演算を行います。制御装置は、プログラムの命令を解釈し、各装置の動作を指示します。演算装置と制御装置を中心にまとめたものがCPU、中央処理装置です。CPUはコンピュータ全体を指す名前ではなく、その構成要素の1つです。
図1のように、主記憶を中心にデータの受け渡しを考えると、CPUと記憶装置の関係を整理できます。図の矢印は、学習用に単純化したデータの移動方向です。制御信号や実際の配線をすべて表しているわけではありません。入力から取り込んだデータを記憶し、CPUが処理し、その結果を出力したり、補助記憶へ保存したりします。

たとえば2つの数を入力して合計を表示する場合、入力した数は処理に使える形で記憶され、CPUが加算し、結果が表示に使われます。このとき「足す」が演算、「命令に従って必要な処理を進める」が制御です。データや指示を運ぶ共通の伝送路はバスと呼ばれます。図の線を実機のケーブルの本数と対応させるのではなく、どの働きの間で情報が渡るかを読み取ってください。
主記憶は作業中の場所、補助記憶は保存先です
主記憶装置は、CPUが実行するプログラムや、処理中のデータを置くために使います。一般的なコンピュータで作業領域となる主記憶にはRAMが使われ、電源の供給がなくなると記憶内容を保持できない性質があります。この性質を揮発性といいます。日常的に「メモリ容量」といったときには、この主記憶の容量を指すことが多いです。
補助記憶装置は、プログラムやファイルを長期に保存するために使います。SSDやハードディスクなどが当てはまり、電源を切っても記録を保持できます。この性質は不揮発性です。主記憶と補助記憶は、どちらもデータを記憶しますが、用途と性質が異なります。一般に主記憶は高速な作業に向き、補助記憶は大容量の保存に向きます。ただし、この比較をあらゆる種類の装置に通用する絶対的な大小関係として暗記する必要はありません。
教材棚から問題集を出して机で解く様子を考えると、補助記憶が棚、主記憶が机の作業面に対応します。机が広ければ多くの資料を同時に広げられ、棚が大きければ多くの資料をしまえます。棚だけを大きくしても机は広くなりません。この対応は容量の役割を考えるためのたとえであり、実際のデータは棚から机へ移す際に元のファイルが消えるわけではありません。
ファイルを開くと、必要な内容が補助記憶から主記憶へ読み込まれます。編集中の変更はまず作業中のデータに反映され、保存によってファイルに反映されます。画面に新しい文字が表示されたという事実だけでは、保存先まで更新されたとは判断できません。自動保存がある場合には、その機能が保存操作を行っています。「自動保存があるから主記憶が不揮発性になる」という関係ではない点に注意しましょう。
CPUの内部にも、小さなデータを保持するレジスタがあります。また、CPUと主記憶の速度差を埋めるために使われる高速な記憶がキャッシュメモリです。どちらもCPUの処理を支えますが、文書ファイルの長期保存先ではありません。まず主記憶と補助記憶を区別し、その間のやり取りを効率よくする仕組みとして位置づけると、用語がばらばらになりません。
命令を動かすCPUと利用を支えるソフトウェア
コンピュータの処理手順を表すプログラムなどをソフトウェアと呼びます。プログラムをデータとともに記憶装置に置き、CPUが命令を取り出して実行する仕組みがプログラム内蔵方式です。CPUは基本的に、命令を取り出す、解読する、実行するという過程を繰り返します。分岐の命令があれば、条件に従って次に実行する場所を変えます。
CPUなどの回路では、動作のタイミングをそろえるための周期的な信号であるクロックを使います。1秒間のクロックの周期の数をクロック周波数といい、単位はHzです。1 GHzは10⁹ Hz、つまり1秒間に10億周期です。1周期の長さは周波数の逆数なので、同じ単位にそろえれば「周期 = 1 ÷ 周波数」で求められます。
ただし、1周期ごとに必ず1命令が完了するとは限りません。命令の種類やCPUの仕組みによって、1命令に必要な周期数は変わります。複数の命令の処理を重ねて進めたり、複数のコアで処理したりする場合もあります。クロック周波数は性能を考える材料の1つであり、それだけで実際の作業時間を決める数値ではありません。
ソフトウェアは役割によっても分けられます。OSは基本ソフトウェアの中心で、CPUの利用時間、主記憶の領域、ファイル、入出力装置などを管理し、アプリケーションに共通の機能を提供します。アプリケーションは応用ソフトウェアとも呼ばれ、文章作成、表計算、画像編集などの具体的な目的を実現します。装置固有の操作を仲立ちするデバイスドライバも、装置を利用するうえで重要なシステム側のソフトウェアです。ソフトウェアの分類名は細かさが異なるため、まず何を担当するかを押さえましょう。
例題で解き方を確かめる
例題1 1台の端末にある複数の働きを分ける
タッチパネルで数を入力し、計算結果を画面に表示して、内蔵SSDに結果を保存しました。画面に触れた位置の検出、画面への表示、SSDへの保存は、それぞれ五大装置のどの働きでしょうか。また、計算と各装置への指示は主にどこが担うでしょうか。
- 情報がどちらへ渡るかを確かめます。触れた位置の情報はコンピュータへ入るので、入力の働きです。利用者が画面を見ているかどうかではなく、情報の移動方向を根拠にします。
- 表示と保存を分けます。画面への表示は結果を外に伝える出力、SSDへの保存は後から使うデータを保持する記憶です。「結果が出た」という日常語だけで、両方を出力装置に分類しないようにします。
- 計算と指示をCPUに結びつけます。演算装置が計算を行い、制御装置が命令を解釈して動作を指示します。CPUの中にこれらの働きがまとまっているためです。
タッチパネルを備えた画面は、表示部分が出力、触れた位置を検出する部分が入力を担当します。1つの製品を必ず1種類に分類しようとすると混乱しますが、働きごとに見れば矛盾はありません。
答え:位置の検出は入力、表示は出力、SSDへの保存は記憶で、計算と制御は主にCPUが担います。
例題2 未保存の編集と保存済みのファイルを区別する
補助記憶に保存した文書には「月」と書かれています。文書を開き、主記憶上の作業用データを「火」に変更しました。自動保存はなく、変更後の保存操作もしていません。この状態で電源の供給が突然なくなった場合、補助記憶の文書には何が残るでしょうか。書き込み途中の故障などは考えず、保存済みのデータは正常に保たれるものとします。
- 最後に保存された内容を特定します。補助記憶の内容を問われているので、画面の表示ではなく保存操作の時点を基準にします。この問題では「月」です。
- 編集が反映された場所を確かめます。変更は作業用データにだけ加えられたため、主記憶は「火」、補助記憶は「月」と区別します。
- 電源がなくなったときの性質を適用します。通常のRAMは内容を保持できず、補助記憶は保持するので、未保存の変更は残りません。
次のPythonでは、保存先と作業用のデータを別々のリストとして表し、編集時点で両者が異なることを確かめます。2行目のcopyは内容をコピーする処理です。この短いコードは記憶装置そのものを操作しているのではなく、2つの状態の違いを表すためのものです。
saved = ["月"]
working = saved.copy()
working[0] = "火"
print("保存済み:", saved[0])
print("編集中:", working[0])
出力は次のとおりです。
保存済み: 月
編集中: 火
もし保存を実行すれば、作業中の「火」が保存先にも反映されます。アプリケーションを閉じるときに保存を尋ねる画面が出るのは、この違いを利用者に確かめてもらうためです。電源断からの復元機能の有無は別の条件なので、まず問題文の保存条件を読んでください。
答え:補助記憶には「月」が残り、未保存の「火」への変更は失われます。
例題3 2 GHzの周期と処理時間を求める
クロック周波数が2 GHzで一定のCPUを考えます。ある処理に合計8クロック周期が必要で、待ち時間などはないとします。1周期の長さと、処理にかかる時間をnsで求めてください。1 nsは10⁻⁹秒です。
- 周波数をHzに直します。2 GHz = 2 × 10⁹ Hzです。逆数を取る前に単位をそろえると、「2の逆数だから0.5秒」という誤りを防げます。
- 1周期の長さを求めます。1 ÷(2 × 10⁹)秒 = 0.5 nsです。周波数は1秒当たりの周期数なので、その逆数が1周期当たりの時間になります。
- 必要な周期数を掛けます。0.5 × 8 = 4 nsです。この問題では合計8周期と指定されているため、命令数を別に推測する必要はありません。
図2のように、0.5 nsごとに同じ状態へ戻る信号を考えます。立ち上がりから次の立ち上がりまでが1周期です。山の上にある部分だけを1周期として数えると、周期を短く読み違えてしまいます。図は高い状態と低い状態の長さを等しく描いた模式図で、縦方向は周波数や性能の大きさを表していません。

図2には2 nsの間に4周期が描かれています。8周期ならその2倍の時間が必要です。式だけで求めた4 nsが、図の周期の数え方とも一致することを確かめましょう。
frequency_hz = 2 * 10**9
period_ns = 10**9 / frequency_hz
cycles = 8
print(f"1周期: {period_ns:.1f} ns")
print(f"処理時間: {cycles * period_ns:.1f} ns")
出力は次のとおりです。
1周期: 0.5 ns
処理時間: 4.0 ns
答え:1周期は0.5 ns、8周期にかかる時間は4 nsです。
例題4 クロック周波数の異なるCPUを条件つきで比べる
同じ計算結果を得る処理について、CPU Aでは合計12億周期、CPU Bでは合計9億周期が必要でした。一定のクロック周波数はAが3 GHz、Bが2 GHzです。入出力や主記憶へのアクセスによる待ち時間は、ここでは追加で考えません。どちらの処理時間が短いでしょうか。
- それぞれの総周期数と周波数を対応させます。必要な仕事量を時間へ直す問題なので、周波数の大小だけを比べるのでは不十分です。
- 「処理時間 = 総周期数 ÷ クロック周波数」を使います。Aは12億 ÷ 30億 = 0.40秒、Bは9億 ÷ 20億 = 0.45秒です。分母は1秒当たりの周期数なので、結果の単位は秒になります。
- 小さい時間を選び、差を求めます。0.45 − 0.40 = 0.05秒なので、条件の下ではAのほうが早く完了します。Bの総周期数は少ないものの、1周期が長いため、この結果になります。
cycles_a, hz_a = 1_200_000_000, 3_000_000_000
cycles_b, hz_b = 900_000_000, 2_000_000_000
time_a = cycles_a / hz_a
time_b = cycles_b / hz_b
print(f"A: {time_a:.2f} 秒")
print(f"B: {time_b:.2f} 秒")
print(f"差: {time_b - time_a:.2f} 秒")
出力は次のとおりです。
A: 0.40 秒
B: 0.45 秒
差: 0.05 秒
この結果から、周波数の高いCPUがどんな処理でも速いとは言えません。たとえば別の処理で必要な総周期数が変われば、順位も変わる可能性があります。問題で与えられた条件の範囲に結論をとどめることも、計算問題の解き方の一部です。
答え:Aが0.40秒、Bが0.45秒で、この処理ではAのほうが0.05秒短くなります。
つまずきやすいところと直し方
誤り1 記憶容量をそのまま計算速度だと考える
誤った書き方は「補助記憶の容量を2倍にすると、CPUの計算速度も2倍になる」です。どこが違うかというと、保存できる量と、単位時間に行える処理の量を同じものとして扱っています。容量は主にバイトで表す量であり、クロック周波数のHzとも、処理時間の秒とも意味が違います。
正しい書き方は「補助記憶の容量を増やすと保存できるデータは増えるが、CPUの計算速度が同じ割合で上がるわけではない」です。一方で、主記憶が不足している状況では、主記憶を増やすことで補助記憶との頻繁なデータのやり取りが減り、動作が改善する場合があります。だからこそ、容量は速度に一切関係しない、と反対方向に言い切ることも避けます。
動作が遅い理由を考えるときは、CPUの計算、主記憶の不足、保存先からの読み出し、入出力の待ち時間のどこに時間がかかっているかを分けます。最も時間を要する部分が全体を制約することがあり、無関係な部品の数値を増やしても期待どおりには改善しません。
誤り2 2 GHzなら毎秒20億命令を実行すると決める
誤った書き方は「2 GHzのCPUは1秒に必ず20億命令を実行する」です。どこが違うかというと、クロックの周期の数と、完了する命令の数を区別していません。1命令に複数の周期を使う場合もあり、反対に複数の命令の処理を重ねて進める仕組みもあります。
正しい書き方は「2 GHzは1秒に20億クロック周期であり、命令の実行数には命令当たりの周期数などの条件が必要」です。単純な計算モデルで、1命令に必ず4周期かかり、命令を重ねずに実行するなら、1秒当たりの命令数は20億 ÷ 4 = 5億です。この追加条件を書いて初めて、命令数へ換算できます。
また、コア数が2倍ならすべての処理が半分の時間になる、という読み方もできません。前の結果を待たなければ次へ進めない処理は、単に担当するコアを増やしても同時に進められないためです。性能の比較では、どの処理をどの条件で行うのかまで確認します。
誤り3 OSを画面表示専用のソフトウェアと考える
誤った書き方は「OSは画面の見た目を作るもので、ファイルの保存はアプリケーションだけが行う」です。どこが違うかというと、利用者から見える操作画面をOSの役割全体と考え、裏側で行う資源の管理を見落としています。アプリケーションは保存したい内容を扱いますが、通常はOSが提供するファイル操作の機能を利用します。
正しい書き方は「アプリケーションが目的に応じた処理を行い、OSがCPU・主記憶・ファイル・入出力などの利用を支える」です。図3のように役割を重ねて描くと、文章を保存する操作も、文書を扱う処理と装置に記録するための共通機能に分けられます。図の矢印は主な依頼と結果の受け渡しで、すべての処理が必ずこの順に1回ずつ進むという意味ではありません。

図3のOSの層では、複数のアプリケーションが動くときのCPU時間の割り当てや、使用する主記憶の管理も担います。1つのCPUコアでも処理を短時間で切り替えることで、複数の作業が並行して進んでいるように見せられます。複数のコアで実際に同時実行することとは区別して考えます。OSを「すべての計算を代わりに行うもの」とせず、アプリケーションが動く共通の基盤として捉えるのが適切です。
練習問題
練習1 情報の向きとソフトウェアの担当
マイクで音を取り込み、音声編集用アプリケーションで一部を切り取り、スピーカーで再生しました。マイクとスピーカーは、それぞれ入力・出力のどちらでしょうか。また、複数のアプリケーションにCPUの利用時間を割り当てるのは、主にOSと音声編集用アプリケーションのどちらでしょうか。装置の向きとソフトウェアの役割を別々に答えてください。
練習2 保存前後の状態を追う
保存済みのファイルには数値10があります。開いて20に書き換え、保存した後、さらに30に書き換えました。2回目の書き換え後は保存しておらず、自動保存もありません。その直後に電源が失われ、通常のRAM上の作業用データが失われました。補助記憶は正常だとすると、ファイルにはどの数値が残るでしょうか。最後の保存操作の直後の状態を根拠にしてください。
練習3 周波数から必要な時間を計算する
一定のクロック周波数が4 GHzのCPUで、ある処理に合計20周期かかります。追加の待ち時間がないとき、1周期の長さと処理全体の時間を、それぞれnsで答えてください。GHzをHzに直してから計算し、周波数が大きいほど周期が短いという関係も確かめましょう。
練習4 周波数の大小と処理時間の大小
同じ結果を求める処理で、CPU Cは15億周期を要し、周波数は3 GHzでした。CPU Dは8億周期を要し、周波数は2 GHzでした。周波数は一定で、追加の待ち時間を考えないとき、各処理時間と、どちらが何秒短いかを求めてください。結論には「この条件では」を添え、製品全体の性能についての断定と区別してください。
答えと解説
練習1の答え:マイクは入力、スピーカーは出力で、CPUの利用時間を割り当てるのは主にOSです。音の情報がコンピュータへ入るか外へ出るかで装置を分けます。音声の切り取りはアプリケーションの目的に沿った処理で、実行資源の割り当てはOSの共通管理に当たります。
練習2の答え:20が残ります。10から20への変更は保存されましたが、20から30への変更は作業用データにだけ反映されています。最初の値と最後に画面で見た値のどちらでもなく、最後に保存した時点の値を選びます。
練習3の答え:1周期は0.25 ns、処理全体は5 nsです。1 ÷(4 × 10⁹)秒 = 0.25 nsであり、0.25 × 20 = 5 nsとなります。例題3の2 GHzと比べると周波数が2倍なので、1周期の長さは半分です。
練習4の答え:Cは0.50秒、Dは0.40秒で、この条件ではDが0.10秒短くなります。15億 ÷ 30億 = 0.50、8億 ÷ 20億 = 0.40です。周波数はDのほうが低くても、必要な総周期数も少ないため、処理時間ではDが短くなります。
次の単元へのつながりと家庭での確かめ方
CPUが行う比較や計算をさらに細かく見ると、論理回路による処理につながります。また、プログラミングで変数やリストの値を追う学習は、主記憶に置かれたデータが命令に従って変化することと結びつきます。ネットワークの学習でも、受信したデータを記憶し、処理して表示するという装置の協力関係が土台になります。
家庭では、まず5分で、紙に「文字入力→編集→保存→再表示」と書き、それぞれに関わる装置とソフトウェアを添えてみてください。もう1つは、別の5分で、練習用の文書を作って保存し、1文字だけ変更した後、未保存の変更を破棄して開き直す方法です。自動保存が有効な場合はその違いも確認し、大切なファイルは使わずに試します。電源を突然切って実験する必要はありません。
個別指導では、名称が出てこない場合は五大装置の働きへ、計算が合わない場合はHzと秒の単位へ戻って確かめます。お子さまの説明を聞くときも、用語の数より「保存前の変更はどこにあるか」を理由つきで話せるかが理解の手がかりになります。
まとめ
画面の文字が変わる、ファイルが残る、計算が終わるという出来事には、それぞれ担当する働きがあります。装置の名称を選べても説明が止まるときは、操作の前後でデータの置き場所と状態を1つずつ書き出してみましょう。クロックの問題でも、回数と時間の対応を示せれば、数字の大小だけに引っ張られなくなります。
「画面に見える」と「保存されている」の間を説明する力が、コンピュータを理解する確かな足場になります。
本気になった日が、入塾の日。
お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。
電話は年中無休。365日、24時間、お電話可能。




