パソコンのCPUとは。構造や論理演算について図解で説明

Technology

# # #

パソコンのCPU (Central Processing Unit)について説明する。

パッケージやダイなどのCPUの構造から、制御装置、演算装置、メインメモリ間での命令の実行手順(命令のフェッチ、デコード、実行など)の説明も行う。

また、CPUで行う演算とはなにか、論理演算のやり方なども解説し、CPUの性能の見方も説明。


CPUとは?

CPU (Central Processing Unit)とは、コンピュータの「演算」と「制御」を担う、コンピュータのブレイン的な存在。


CPUは5大装置のうちの一つ

パソコンのCPUとはーCPUは五大装置の一つ

コンピューターは、演算装置、制御装置、入力装置、出力装置、記憶装置でできていて、これらを5大装置と呼ぶ。

具体的な名前を挙げると、

  • 演算装置(CPU)
  • 制御装置(CPU)
  • 入力装置(マウス、キーボードなど)
  • 出力装置(ディスプレイ、プリンタ、スピーカーなど)
  • 記憶装置(RAM、ROM、ストレージ、CD、USBカードなど)

が挙げられる。

五大装置に関しては詳しくはこちらに書いた。

no image
コンピュータを形作る五大装置とは

続きを見る


CPUの構造は?

パソコンのCPUとはーCPUの構造

CPUはまずパッケージとダイで構成されている。

  • パッケージ:「ダイ」を守る部分
  • ダイ:演算をしたり制御をするための部分。

この「ダイ」の中に、演算をしたり、制御をするための部分がある。

そしてトランジスタと呼ばれる電気のスイッチがダイの中にたくさん入っている。


トランジスタとは?

パソコンのCPUとはートランジスタとは

トランジスタは電気を流すためのスイッチ。

電圧をかけることで、電気を通すことができる。


なぜトランジスタが必要なの?(ビットのおさらい)

パソコンのCPUとはートランジスタとビット

トランジスタを使うことによって、電流が流れたか流れてないかという二通りの選択肢、つまり「ビット」を作ることができるから。

ビットとは「情報の最小単位」、つまり「左・右」「男・女」のように変化するパターンとして最小の単位(2通り)であり、ビットを元にコンピュータは演算し、文字や数字、色、画像などを表示する。

ビットについてや、コンピューターがビットを使ってどうやって文字や色、画像などを表しているのかについてはこちらで詳しく書いた。

no image
ビット(bit)とは?ビットによる文字表現や画像、音のデジタル化を解説

続きを見る


CPUが命令を実行するときの手順

CPUは主記憶装置(メモリ)から命令を一つづつ取り出し、プログラムを実行していく。

パソコンのCPUとはー命令を実行するときの手順

CPU(制御装置・演算装置)と記憶装置(メモリ)をさらに詳しく見ると下記のような形になる。

パソコンのCPUとはー命令を実行するときの手順

CPUが命令を実行するときののステップは下記のようになる。

  1. 命令の取り出し(命令のフェッチ)
  2. 命令の内容を解釈(デコード)
  3. 対象データ(オペランド)の読み出し
  4. 命令の実行・結果の書き込み

一つづつ見ていく。



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

まずは主記憶装置にあるプログラムをCPUに取り出す。

これを命令のフェッチという。

制御装置には「プログラムカウンタ」と呼ばれる場所があり、プログラムカウンタにメモリのどこから情報をとってくるのかの情報がある。

命令の取り出しの例として、プログラムカウンタが「0022」になっているとする。

パソコンのCPUとはー命令のフェッチ

流れとしては

  1. プログラムカウンタの数字「0022」に沿って、メモリの中の命令を参照する
  2. 命令を取り出して、命令レジスタに格納する
  3. プログラムカウンタを一つ繰り上げて、次の命令の取り出しに備える

という流れになる。


命令レジスタとは?

命令レジスタは、メモリからとってきた命令や情報を保管する場所。

「命令部」には命令の種類を入れ、オペランド部は操作するデータの場所を入れる。

例えば、「アドレス0100の中にあるデータを演算しなさい」という命令をメモリから取ってきたとして、この情報を命令レジスタに入れると下記のようになる。

パソコンのCPUとはー命令レジスタ

このように命令の情報を入れるための場所と、操作するデータが保存されている場所を表しているアドレスを入れる場所が命令レジスタとなる。


命令の内容を解釈(デコード)

ここからは先程の「アドレス0100の中にあるデータを演算しなさい」という命令の例を続けていく。

次は取得した命令を解釈するステップとなる。

パソコンのCPUとはー命令のデコード

流れとしては、

  1. 命令レジスタの命令部の情報を命令デコーダに送る
  2. 命令デコードで情報を解読
  3. 命令の実行に関係する装置に制御信号を送る。(演算の場合は演算装置に制御信号が送られる)

という流れになる。

今回は演算の命令のために制御信号は演算装置に送られているが、命令の種類は演算以外にもあるので、あくまで一例としてのステップとなる。


対象データ(オペランド)の読み出し

次に、実際に演算をするときに必要になるデータを取り出す。

パソコンのCPUとはー対象データ(オペランド)の読み出し

ステップとしては以下のようになる。

  1. オペランド部に保存されている情報(0100)をもとに、メモリのアドレスの中の情報(100)を参照する
  2. データを読み出し、演算装置の中の汎用レジスタに送る。


命令の実行

必要なデータが揃ったので、命令を実行する。

パソコンのCPUとはー命令の実行

手順としては下記のようになる。

  1. ALUにデータが読み込まれる
  2. ALUにて演算
  3. 演算結果を汎用レジスタへ送り、保存
  4. 汎用レジスタで保存した演算結果を、メモリ内に書き込む

命令の実行を終えたら、また命令の取り出し(フェッチ)に戻り、ステップを繰り返していく。


どのようにCPUは演算しているのか?

命令の実行の例で演算を出したが、実際にCPU内ではどのように演算されているのだろうか?


そもそも演算とは何か?

パソコンのCPUとはー演算とは

トランジスタの「電気が流れた = 1 ・流れなかった = 0」という入力値を使って、出力値を出すことを演算という。

基本的に演算するときは二つの入力値から、一つの出力値を出す。

この二つの入力値は、「論理演算」という計算方法によって、出力値を出すことができる。


論理演算のやり方

論理演算には「AND・OR演算」、「NAND・NOR演算」、「XOR演算」の3種類がある。


AND・OR演算

AND演算は、入力Aと入力Bがどちらも1(電流が流れている)時のみ、出力が1になる演算。

パソコンのCPUとはー論理演算


OR演算は、入力Aか入力Bどちらかが、1(電流が流れている)だと、出力が1になる演算。

両方入力が1の場合も、出力は1になる。

パソコンのCPUとはー論理演算


NAND・NOR演算

NANDとNORの頭文字「N」はNotを表す。

NANDはNot ANDの略になるので、ANDの出力を逆にした演算がNANDになる。

パソコンのCPUとはー論理演算


また、NORも同様に、Not ORの略になるので、ORの出力を逆にした演算がNORになる。

パソコンのCPUとはー論理演算


XOR演算 (exclusive OR)

XOR演算のXはexclusiveは「退ける」というような意味を持ち、OR以外の部分を退けるのがXOR演算になる。

なのでここでは、入力のAとBが1だった場合、出力は0になる。

パソコンのCPUとはー論理演算


論理演算を回路記号として表すMIL記号

論理演算には「AND・OR演算」、「NAND・NOR演算」、「XOR演算」はMIL記号として表すことができる。

MIL記号は回路記号として、回路図に書くときなどに使われる。

パソコンのCPUとはー論理演算


この記号を見ることで、どのような演算がされていて、どんな出力が出てくるかが把握できる。

パソコンのCPUとはー論理演算


この論理回路がたくさん集まることで、集積回路(IC・CPUのダイの部分に組み込まれている部品)ができている。

パソコンのCPUとはー論理演算


CPUの性能

CPUの仕組みを見た上で、CPUの性能について見ていく。

CPUの性能は様々な点から比較できるが、代表的な点を説明する。

  1. コア数
  2. クロック周波数
  3. キャッシュ


コア数

パソコンのCPUとはーコア・クロック周波数・キャッシュメモリ

現在のCPUには、制御・演算機能がのったコアCPUが複数ついているCPUが主流であり、二つなら2コア、4つなら4コアという形で確認できる。

CPUのコア数が多い方が、CPUとしては高性能となる。


クロック周波数

クロックは、CPUの動作のタイミングを取るための信号で、1クロックごとにCPUは処理を行う。

パソコンのCPUとはーコア・クロック周波数・キャッシュメモリ


そしてクロック周波数は、1秒間にクロックが何回発生したかを表す数値となる。

パソコンのCPUとはーコア・クロック周波数・キャッシュメモリ

つまりこのHzの数字が大きければ大きいほど、一秒間にCPUが処理する回数は大きいということになるので、すなわち高性能を意味する。

Hzの単位としては

  • 1Hz:1秒間に1回の処理
  • 1MHz : 1秒間に100万回の処理
  • 1GHz : 1秒間に10億回の処理

という風に見ることができる。


キャッシュ

パソコンのCPUとはーコア・クロック周波数・キャッシュメモリ

キャッシュメモリ(Static RAM)は、メインメモリの中でも特によく使うデータを保存する、CPU内にあるメモリで、早いデータの受け渡しを実現するための場所。

このよく使うデータを保存できるメモリがあればあるほど、高性能。


CPUの調べ方

Macbookの場合は、「このMACについて」ををおすと、CPUの情報が表示される。

パソコンのCPUとはーコア・クロック周波数・キャッシュメモリ

ここでは「2.2GHz 6-Core Intel Core i7」がCPUの部分になる。

  • 2.2GHz : クロック周波数。1秒間に2,200,000,000回(22億回)の計算が可能
  • 6-Core : 6つのコア
  • Core i7 : インテルのCore iシリーズ。i7は種類でi3, i5などもある。

このような形でパソコンのCPUの確認ができる。

Related posts