1-1. コンピュータアーキテクチャ
このセクションで学ぶこと
Section titled “このセクションで学ぶこと”- コンピュータを構成する主要部品の役割
- 2進数・16進数と文字コードの仕組み
- OSがどのような役割を果たしているか
1. コンピュータの主要部品
Section titled “1. コンピュータの主要部品”コンピュータは大きく以下の部品で構成されている。
┌─────────────────────────────────────────┐│ コンピュータ ││ ││ ┌──────┐ ┌──────┐ ┌────────────┐ ││ │ CPU │──▶│メモリ│ │ストレージ │ ││ └──────┘ └──────┘ └────────────┘ ││ │ │ │ ││ └───────────┴────────────┘ ││ │ ││ バス(Bus) │└─────────────────────────────────────────┘CPU(Central Processing Unit)
Section titled “CPU(Central Processing Unit)”プログラムの命令を実際に実行する「頭脳」にあたる部品。
- 役割:計算・判断・制御
- クロック周波数:1秒間に何回クロックを刻むかを示す(例:3GHz = 30億回/秒)
- コア数:複数のコアがあると複数の処理を同時に行える(マルチコア)
CPUが行う基本動作は以下の3ステップの繰り返し。
フェッチ(Fetch) → 命令をメモリから取り出すデコード(Decode) → 命令を解読する実行(Execute) → 命令を実行するメモリ(RAM: Random Access Memory)
Section titled “メモリ(RAM: Random Access Memory)”プログラムが実行中に使うデータを一時的に保存する場所。
- 特徴:高速だが、電源を切るとデータが消える(揮発性)
- 役割:実行中のプログラムやデータを保持する
- 容量の例:8GB、16GB、32GBなど
メモリのイメージ(各マスに1バイトのデータが入る)
アドレス データ0x0000 01001000 ← 'H'0x0001 01100101 ← 'e'0x0002 01101100 ← 'l'0x0003 01101100 ← 'l'0x0004 01101111 ← 'o'ストレージ(HDD / SSD)
Section titled “ストレージ(HDD / SSD)”データを永続的に保存する場所。
| 種類 | 特徴 | 速度 |
|---|---|---|
| HDD | 磁気ディスクに記録。大容量・安価 | 遅い |
| SSD | フラッシュメモリに記録。衝撃に強い | 速い |
- 電源を切ってもデータが消えない(不揮発性)
- プログラムの実行時はストレージ → メモリへ読み込まれる
CPU レジスタ : ~0.3 ns (最速)CPU キャッシュ: ~1-10 nsメモリ(RAM) : ~100 nsSSD : ~0.1 msHDD : ~10 ms (最遅)プログラムが遅い場合、多くはメモリやディスクへのアクセスがボトルネックになっている。
2. 2進数・16進数
Section titled “2. 2進数・16進数”コンピュータは電気信号の「オン(1)」と「オフ(0)」しか扱えない。そのため、すべてのデータは 2進数(Binary) で表される。
| 10進数 | 2進数 |
|---|---|
| 0 | 0000 |
| 1 | 0001 |
| 2 | 0010 |
| 3 | 0011 |
| 4 | 0100 |
| 5 | 0101 |
| 8 | 1000 |
| 15 | 1111 |
変換の考え方(10進数 → 2進数)
13 ÷ 2 = 6 余り 1 6 ÷ 2 = 3 余り 0 3 ÷ 2 = 1 余り 1 1 ÷ 2 = 0 余り 1
余りを下から読む → 1101 ✓(13 = 1101₂)データの単位
Section titled “データの単位”| 単位 | 読み方 | 大きさ |
|---|---|---|
| bit | ビット | 0か1の1桁 |
| Byte | バイト | 8 bit |
| KB | キロバイト | 1,024 Byte |
| MB | メガバイト | 1,024 KB |
| GB | ギガバイト | 1,024 MB |
| TB | テラバイト | 1,024 GB |
16進数(Hexadecimal)
Section titled “16進数(Hexadecimal)”2進数は桁数が多くなり読みにくいため、プログラミングでは 16進数 がよく使われる。
0〜9, A〜F の16種類の文字を使う(A=10, B=11, ... F=15)
2進数 : 1111 111110進数 : 25516進数 : FF (プログラムでは 0xFF と書く)| 2進数 | 16進数 |
|---|---|
| 0000 | 0 |
| 0001 | 1 |
| 1010 | A |
| 1111 | F |
なぜ16進数が便利か? 4ビット = 16進数1桁に対応するため、変換が簡単。
3. 文字コード
Section titled “3. 文字コード”コンピュータは文字も数値として扱う。「どの数値がどの文字か」を定めた規則が 文字コード。
ASCII(アスキー)
Section titled “ASCII(アスキー)”最初に普及した文字コード。128種類の文字を0〜127の数値で表す。
'A' → 65'B' → 66'a' → 97'0' → 48' ' → 32(スペース)日本語を含む世界中の文字を扱える文字コード。Webや多くのシステムで標準。
'A' → 0x41 (1バイト)'あ' → 0xE3 0x81 0x82(3バイト)'😀' → 0xF0 0x9F 0x98 0x80(4バイト)なぜ文字化けが起きるのか? 送り側と受け側で文字コードが異なる場合、「この数値はどの文字か」の解釈がずれるため文字化けが発生する。
4. OS(オペレーティングシステム)の役割
Section titled “4. OS(オペレーティングシステム)の役割”OSは、ハードウェアとアプリケーションの間に立つソフトウェア。
┌────────────────────────┐│ アプリケーション │ ← ブラウザ、エディタなど├────────────────────────┤│ OS(オペレーティング │ ← Windows、macOS、Linux│ システム) │├────────────────────────┤│ ハードウェア │ ← CPU、メモリ、ストレージ└────────────────────────┘OSの主な役割
Section titled “OSの主な役割”プロセス管理 複数のアプリを同時に動かせるよう、CPUの使用時間を切り替えながら管理する。
メモリ管理 各プログラムに必要なメモリを割り当て、互いに干渉しないよう管理する。
ファイルシステム ストレージ上のデータを「ファイル」「ディレクトリ(フォルダ)」という形で管理する。
デバイス管理 キーボード・マウス・プリンタなどの周辺機器を制御する。
セキュリティ・権限管理 ユーザーごとにアクセス権を管理し、不正なアクセスを防ぐ。
| キーワード | 説明 |
|---|---|
| CPU | 命令を実行する処理装置 |
| メモリ(RAM) | 実行中データの一時保存場所(揮発性) |
| ストレージ | データの永続保存場所(不揮発性) |
| 2進数 | コンピュータが扱う0と1の数値体系 |
| バイト | 8ビット。データ量の基本単位 |
| UTF-8 | 現在最も広く使われる文字コード |
| OS | ハードウェアとアプリの橋渡し役 |
次のステップ
Section titled “次のステップ”演習問題 に取り組んで理解を確認しよう。
理解できたら 1-2. プログラムが動く仕組み へ進もう。