2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

コンピュータ構成要素

Last updated at Posted at 2022-10-12

コンピュータ内部の情報表現

情報量の単位

コンピュータ内部:全ての情報「0」「1」で表現
→ 「0」「1」= コンピュータで扱う情報の最小単位(ビット
→ 8ビットを一つにする = バイト(情報量の基本単位)

表現できる情報の範囲

1ビット → 「0」「1」=2通り
2ビット → 「00」「01」「10」「11」=4通り
→ nビット= 2ⁿ通り 表現できる

大きな数値を表す接頭語

接頭語 意味
k 10³
M 10⁶
G 10⁹
T 10¹²

小さな数値を表す接頭語

接頭語 意味
m(ミリ) 10⁻³
μ(マイクロ) 10⁻⁶
n(ナノ) 10⁻⁹
p(ピコ) 10⁻¹²

文字の表現

コンピュータ内部 : 「0」「1」で表現
→ 文字も2進数で表現している(文字コード
→ 「0」「1」の割り振り方によって、文字コードが違う

(文字コードの種類)

文字コード 内容
ASCIIコード 英数字/記号/制御文字のみ、米国標準規格、漢字・仮名なし
シフトJISコード ASCIIコード+漢字・仮名あり、日本工業規格
EUC UNIX、Linuxで使われる
Unicode 世界の文字を一つに体系化したもの 例)UTF-8

コンピュータの構成

(五大装置)

  • 制御装置:記憶装置から命令を取り出す → 各装置に指示
  • 演算装置:演算処理をする
  • 記憶装置:データ・プログラムを記憶
  • 入力装置:外部からデータを読み込む
  • 出力装置:処理結果を外部に書き出す
    * 制御装置+演算装置=中央処理装置(CPU)
    → 制御装置・演算装置はCPU中に格納されている
    五大装置.jpg

ハードウェア・ソフトウェア

ハードウェア

コンピュータという機械そのものを指す 例)五大装置

ソフトウェア

コンピュータをどう動かすのかという仕事を指す 例)プログラム・アプリケーション

プログラム記憶方式(プログラム格納方式)

(現代のコンピュータ)
主記憶に記憶されたプログラム → CPUが順に取り出す → 実行する方式
プログラム記憶(格納)方式.jpg
主記憶:CPUから直接アクセスできる記憶装置

CPU(プロセッサ)

コンピュータの頭脳にあたる
→ CPUの性能 = クロック周波数 + バス幅 で表す

クロック周波数

コンピュータには色んな装置 → CPU:クロック信号(クロックパルス)を出す → 各装置の動作タイミングを合わせる
→ 人間の脈拍
クロックサイクル時間: 1クロックあたりの秒
クロック_最新.jpg

CPUも「クロック」に合わせて動作 → 1周期の時間が短ければ、より多く処理できる
クロック周期_回数.jpg

  • クロック周波数:1秒間に繰り返されるクロック回数 (単位: Hz) 例)人間の「脈拍」
    • 内部クロック: CPU内部のクロック周波数
    • 外部クロック: CPUと周辺装置の伝送路のクロック周波数
      * 内部クロック = 外部クロック じゃなくても良い、現在はだいたい 内部>外部
      * クロック周波数 高 → 処理能力 高 
       → メモリ・HDDの性能も関係するので、クロック数2倍→システム処理能力2倍 になるわけではない

バス

CPU ↔︎ メモリ ↔︎ キャッシュメモリ 間でデータを送るための道路
→ 人間:血管

CPUの命令実行手順

レジスタ

CPUに内蔵されてる、高速な記憶装置(命令を記憶)

種類 記憶内容
命令レジスタ 実行する命令
命令アドレスレジスタ(プログラムカウンタ) 次に実行する命令のアドレス
指標(インデックス)レジスタ 指標アドレス指定方式で使うアドレス
基底(ベース)レジスタ 基底アドレス指定方式で使うアドレス
アキュムレーター 演算対象・演算結果
汎用レジスタ 色々な値

命令語

プログラム言語 → 機械語(命令語)に変換 → 解読・実行
(命令語の構成)
命令部 + アドレス部オペランド部
命令語_命令部_オペランド部.jpg

命令実行のサイクル

命令の取り出し命令フェッチ

  • 【 制御装置→記憶装置 】命令アドレスレジスタ(プログラムカウンタ)のアドレスを参照 
  • 【 記憶装置→制御装置 】命令を取り出して、命令レジスタに格納
  • 【 制御装置 】命令アドレスレジスタに、次の命令アドレスをセット

命令の解読

  • 【 制御装置 】命令部(命令レジスタ)→ デコーダ
  • 【 制御装置→演算装置 】デコーダが解読、演算装置へ指示

実効アドレス計算

  • 【 制御装置 】アドレス部(命令レジスタ)→ アドレスレジスタへ
  • 【 制御装置 】アドレスレジスタ:実効アドレス(データのあるアドレス)計算

オペランドの取り出し
・ 【 主記憶装置→演算装置 】処理対象のデータ取り出し → 演算装置へ

命令の実行
・ 【 演算装置 】演算を実行

演算結果の格納
・ 【 演算装置→記憶装置 】演算結果を格納
CPU_命令実行手順.jpg
 

アドレス指定方式(↑ 実効アドレス計算の話)

アドレス修飾アドレス指定): アドレス部の値になんらかの処理 → 実効アドレスを求める方式

即値アドレス指定方式

アドレス部 = データそのものが入ってる方式
即値アドレス指定方式.jpg

直接アドレス指定方式

アドレス部 = 実効アドレスが入っている方式
直接アドレス指定方式.jpg

間接アドレス指定方式

アドレス部 = 実効アドレスを格納してるアドレスが入っている方式
間接アドレス指定方式.jpg

相対アドレス指定方式

アドレス部の値 + 命令アドレスレジスタ(プログラムカウンタ)の値 = 実効アドレス
相対アドレス指定方式.jpg

指標(インデックス)アドレス指定方式

アドレス部の値 + 指標レジスタ = 実効アドレス
指標アドレス指定方式.jpg
※インデックスレジスタの役割

  • 配列の添字(インデックス)で利用
for.java
for(int i = 0; i < 10; i++) {
    int[] array = new int[10];
    array[i] = i + 100;
}

→ インデックスが1ずつ増加=インデックスレジスタを1増加

基底(ベース)アドレス指定方式

アドレス部の値 + 基底レジスタの値 = 実効アドレス
基底アドレス指定方式.jpg
※ ベースレジスタの役割

  • 再配置可能プログラム(リロケータブル) で利用する
    • = 主記憶のどこにおいても実行できる性質
    • → アドレスを変更するとき=ベースレジスタの値を変更する

CPUの高速化技術

1命令 = ①命令の取り出し②命令の解読③実効アドレスの計算④オペランド取り出し⑤命令の実行⑥演算結果の格納
      ←ーーーーーーーーーーーーー制御装置ーーーーーーーーーーーーーー→ ←ーーーー演算装置ーーーーー→
→ 命令実行まで6段階!
→ 実行の仕方=4つ

逐次制御方式

1命令ずつ順番に実行する方式 → 効率が悪い(制御/演算装置が動かない時間あるため)
逐次制御方式.jpg

パイプライン方式

複数の命令 → 1ステージずつずらしながら並行処理 → 高速化
パイプライン方式.jpg
(欠点)
パイプライン方式 → 先読みして処理をする → 先読みが外れる場合がある 例)分岐
(対策)
・ 分岐予測: 実行されそうな方を予測する
・ 投機実行: 予測に基づいて、実行すること

パイプラン方式を更に高速化する方式

スーパーパイプライン方式

パイプライン方式を更に細かく → 高速化
スーパーパプライン方式.jpg

スーパースカラ方式

複数の命令を同時に実行+パイプライン方式 → 高速化
スーパースカラ方式.jpg

CPUの命令体系

CISC(シスク)(Complex Instruction Set Computer)

複雑な命令(命令数が多い)を持ったCPU、1回の命令で複雑な処理できる
活用例) PCのCPU

RISC(リスク)(Reduced Instruction Set Computer)

単純な命令を持ったCPU、命令の実行時間が均等→パイプライン方式と相性いい
活用例) スマホ・タブレット・組み込みシステムのCPU

マルチコアプロセッサ

1つのCPU内: 複数のコア(演算の中心)ある
→ シングルコアより、消費電力 低・処理速度 速
→ デュアルコア(2つ)・クアッドコア(4つ)・オクタルコア(8つ)
→ それぞれのコア = 同時に別の処理 → 処理能力向上

GPU

3Dの画像 → 高速に処理する画像処理装置
→ 数千個のコア = データを並列処理

半導体メモリ(コンピュータの記憶装置に使われる)

1. RAM(Ramdom Access Memory)

  • 読み書きできるメモリ
  • 揮発性(電源を切ると、データが消える)= 一時的に記憶できる

① DRAM

  • コンデンサに電気を加えてデータ保持(時間が経つと放電→データ失う) 
    • リフレッシュ(データ保持)必要
  • SRAMに比べ、大容量・低速・安価
  • 主記憶(メインメモリ) に使われる
    リフレッシュ機能.jpg
    例)Excel
  • 編集 → 保存しないでアプリ終了 → アプリ起動 → 編集データ保持
  • 編集 → 保存しないでアプリ終了 → 電源切る/つける → アプリ起動 → 編集データ消失

② SRAM

  • フリップフロップ回路 で記憶(2つの安定した状態をもつ、1ビットの情報を記録する回路)
    • リフレッシュ不要
  • DRAMと比べ、小容量・高速・高価
  • キャッシュメモリに使われる

2. ROM(Read Only Memory)

  • 読み出しのみ
  • 不揮発性(電源を切っても、データ消えない)

ROM = マスクROM・PROM に分割

書き込み 消去 特徴
マスクROM 工場で書き込み、読み込むだけ 例)ゲーム機
UV-EPROM ⭕️ ⭕️ 紫外線照射 → 書き込み&消去
EEPROM ⭕️ ⭕️ 電気 → 書き込み&消去(バイト単位)
フラッシュメモリ ⭕️ ⭕️ 電気 → 書き込み&消去(ブロック単位)

キャッシュメモリ

  • 主記憶(メインメモリ)より高速
  • CPUと主記憶(メインメモリ)の間に配置するメモリ
    • メインメモリのアクセス速度 < CPUの処理速度
    • よく使うデータを記憶 → 主記憶へのアクセス数減らす
    • 目的: 実効アクセス時間の短縮
    • キャッシュメモリにデータない → メインメモリへアクセス(割込みは生じない

キャッシュメモリ.jpg

実効アクセス時間

アクセスするデータ → キャッシュメモリ or メインメモリ に存在

  • ヒット率: アクセスするデータがキャッシュメモリにある確率
  • NFP(Not Found Probability): アクセスするデータがメインメモリにある確率

(実行アクセス時間の公式)
ヒット率 ✖️ キャッシュメモリのアクセス時間 ➕ (1 - ヒット率) ✖️ メインメモリのアクセス時間

1次キャッシュ・2次キャッシュ

主記憶のアクセス時間とCPUの処理時間の差が大きい時
1次キャッシュ(L1キャッシュ)2次キャッシュ(L2キャッシュ) 構成にする
→ (アクセス順番) CPU → 1次キャッシュ → 2次キャッシュ → メインメモリ

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

キャッシュメモリへの書き込み方

ライトスルー方式

ライトスルー方式.jpg
※ メインメモリへのアクセス頻発 = 低速
※ 一貫性(コヒーレンシ)が保たれる

ライトバック方式

ライトバック方式.jpg
※ メインメモリへのアクセス減少 = 高速

メモリインターブ

メモリインターブ.jpg

アクセスと容量

アクセスと容量.jpg

補助記憶装置

(メインメモリと比較)

  • アクセス速度 遅い
  • 大容量・安価
  • 不揮発性(電源切ってもデータ消えない)= 長期的な記憶ができる

1. 磁気ディスク装置(HDD:Hard Disk Drive)

■ HDD 使用例 : ワープロなどのソフト「保存ボタン」
主記憶装置から補助記憶装置にデータをコピーする
■ しくみ
磁性体を塗ったディスク → データ記録 → 磁気ヘッドを移動 → データを読み書き
■ 特徴
・ アクセス速度・データ転送 高速
・ 大容量
・ プログラム・アプリ・データ → 磁気ディスク装置に保存
・ 別名 「ハードディスク

ハードディスクの構造

ハードディスクの仕組み.jpg

ディスクの表面

セクタとトラック.jpg
※ 1セクタ = 512バイト単位
* シリンダ: シリンダ単位でアクセスする
ディスク_シリンダ.jpg

  • シリンダ:1枚のディスクが4枚集まる(1)/全ディスクの中心から同距離にあるトラック(4トラック)を合わせてシリンダという(2)
    • シリンダという考え方がある理由:磁気ヘッドの動作を最小限にするため

アクセス時間

CPUが命令 〜 データの読み書き終了時間
(アクセス時間の公式)
待ち時間位置決め時間回転待ち時間) + データ転送時間

時間 内容
位置決め時間(シーク時間) 磁気ヘッド→目的のデータがあるトラックまで移動する時間
回転待ち時間(サーチ時間) 磁気ヘッド→目的のデータが回転してくるのを待つ時間
データ転送時間 磁気ヘッド→目的のデータが通り過ぎるのに使う時間

※ サーチ時間 = 1回転する時間の1/2

ハードディスク_アクセス時間.jpg

フラグメンテーション(断片化)

(ハードディスクの空きが十分な状態)
データ = 連続した領域に固まって記録 → 待ち時間が最小限で済むため

(データの追加・削除を繰り返す)
データ = 連続した領域に保存されない(断片化
→ ハードディスクの読み込み速度が遅くなる
フラグメンテーション.jpg

デフラグメンテーション(フラグメンテーションを解消する作業)

デフラグメンテーション.jpg

2. フラッシュメモリ

データを電気的に書き換える・消去 できる
使用例) USBメモリSDカード

3. SSD

  • HDD の代替え装置
  • フラッシュメモリを使う、ディスクはない(=シーク/サーチなし)
  • 静音、衝撃に強い
  • 消費電力小
  • 高価、書き込み回数に上限

4. 光ディスク

レーザー光でデータを読み書きする記憶媒体

種類 特徴 容量
CD 音楽用CD→PC記録用に応用・ソフトウェアの配布 700MB
DVD 映像も記録できる 17GB
BD(Blu-ray Disc) ハイビジョン映像を記録 100GB

光ディスクの記録方法

記録方法 内容
再生専用型 書込み✖️ CD-ROM,DVD-ROM,BD-ROM
追記型 書込み○書換え✖️ CD-R,DVD-R,BD-R
書替え型 書込み○書替え○ CD-RW,DVD-RW,BD-RE

入出力装置

入力装置

コンピュータ ← データ・音声・画像を入力、指示を与える 装置

(種類)

  • 文字を入力する装置: 例)キーボード
  • 位置情報を入力する装置: 例)マウス・タブレット → 総称: ポインティングデバイス
  • イメージを入力する装置: 例)イメージスキャナ

* 静電容量方式タッチパネル: タッチした部分 → 表面電荷の変化 → 位置を検出

バーコードリーダ

帯状のバーコードを読み取る装置
(バーコードの種類)

バーコード 特徴
JANコード 商品を管理、しましま、「国コード・メーカコード・商品アイテムコード・チェックディジット」で構成
QRコード 小さな領域に多くの情報、エラー訂正機能、2次元コード、360度の方向から読み取り可能

* POSシステム: バーコード → 売行きを把握するシステム
* RFIDICタグ): ICチップ+アンテナ → 電磁波で情報を非接触で読み取る 例) Suica

出力装置

コンピュータ内部で処理したデータ → 外部に出力する総理

ディスプレイ

ディスプレイ 特徴
液晶ディスプレイ 色の透過を画素ごとに制御→カラーフィルターで色表現、自ら発光しない
有機ELディスプレイ 電気を通すと発光する有機化合物、薄型・低電圧・低電力

解像度

ディスプレイ : 点(ドット=画素・ピクセル)が集まって表現
解像度: 横・縦のドット数で表す (ドットが大きい→解像度が高い→キレイなディスプレイ)
 → ※ 単位: dpi(dots per inch)=1インチあたりのドット数

VRAM(Video RAM)

ディスプレイに表示される内容を一時的に記録する専用メモリ
→ 解像度はVRAMの容量で決まる!

プリンタ

種類 内容
レーザープリンタ レーザー光→紙に転写→印刷 PPM(Page Per Minute)
インジェクトプリンタ インクを吹き付ける→印刷
ドットインパクトプリンタ インパクトを与える→印刷

3Dプリンタ

熱で溶かした樹脂・金属粉末 → 層状に積み重ねる → 立体物を作成するプリンタ

入出力インタフェース

入出力インタフェース

PC本体と周辺機器を接続する規格

USB(Universal Serial Bus)

PCと周辺装置を接続する、標準的なシリアルインタフェース
→ シリアルインタフェース: データを1ビットずつ直列に転送
→ マウス・キーボード・磁気ディスク装置・プリンタ などと接続
→ PC: 数個のポート(差し込み口)あり
USBハブ: 127台の機器接続が可能
USBハブ.jpg
(USBの規格)

規格 転送速度(bps) モード 使用先
USB1.1 12M フルスピード プリンタ・スキャナ
USB2.0 480M ハイパースピード 外付けHDD
USB3.0 5G スーパースピード SSD

USBのコネクタの形状

USB_コネクタ形状.jpg
 。
* ホットプラグ: 接続した機器の電源を入れたまま、抜き差しできる 例)USBはホットプラグ対応
* バスパワー: USBのケーブル → パソコン本体から電源を供給する

HDMI

音声・映像・制御信号 = 1本のケーブルで入出力できるインタフェース
例) PC・スマホの映像、音声 → TVに出力

Bluetooth

免許不要・2.4GHzの電波 → 利用したインタフェース
半径100mハンイ: 通信速度=24Mbps
指向性なく通信できる

* BLE(Bluetooth Low Energy):低 消費電力・長時間動作 (IoT機器に適する)

Zigbee(ジグビー)

免許不要・2.4GHzの電波 → 利用したインタフェース

  • 電波の届く範囲は狭い
  • 低コスト低消費電力
  • PAN(Personal Area Network): LANより狭い、近距離のIT機器同士が通信するネットワーク
    • BLE、Zigbeeを使用
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?