見出し画像

CPU(中央演算装置)とは?

約一か月間、2進数とその計算について紹介してきました。
ですが読者の皆さんは、「いつまで2進数やってんだ!」とお思いでしょう。
ですからそろそろ話を変えて、コンピューター機器について話していこうと思います!

今回のテーマは、CPUです

・CPUとは?

みなさんはハードウェアソフトウェアという言葉をご存じですか?
ハードウェアは、パソコンやの本体や画面、マウスやプリンタなどを指します。実際に触れるものですね。
ソフトウェアはそれらを動かすためのプログラムを指します。こちらは実際に触れることができません。

ソフトウェアがハードウェアに命令を送り、ハードウェアが命令に従って機能するのです。ゲームでも某ニン〇ンドース〇ッチや某P〇4などをハードと言い、ゲームのディスクをソフトといいますね。

さて、ハードウェアにも種類があります。

制御装置 : プログラムの命令を解読し、コンピューター全体を制御します。
演算装置 : 四則演算やデータの演算処理を行います。ALU(算術論理演算装置)とも呼ばれます。
主記憶装置 : コンピューター内部にある、プログラムやデータを一時記憶する装置で、メモリが該当します。大容量ですが、コンピューターの電源が落ちればその内容物は全部消えます
補助記憶装置 :プログラムやデータを長期保存する装置で、ハードディスクCD-ROMUSBメモリなどがあります。基本は外付けなので、コンピューターの電源が切れても中身は消えません。
入力装置 : コンピューターが処理をするデータを入力するための装置です。キーボードマウススキャナなどが該当します。
出力装置 : コンピューターの処理結果を外部出力するための装置です。ディスプレイプリンタなどが該当します。

そして、これらハードウェアを束ねるもの、それがCPUなのです!

CPU中央処理装置(central processing unit)の略で、ハードウェアの制御とデータの演算を行います。人間でいえば脳みそというところでしょうか。
そのCPUがソフトウェアからの命令を解釈して、演算を行ったり、命令を基に他のハードウェアを制御するのです。

・CPUの命令実行

CPUがソフトウェアからの命令をかみ砕いて、各ハードウェアに送ることまで紹介しましたが、ちょっとざっくりしすぎてわかりにくいところもあるでしょう。
ここではその具体的な機能について紹介していきます。

ソフトウェア、つまりCPUが実行する命令は外部から持ち込まれますが、コンピュータの電源が入ると命令はコンピュータ内部のメモリと言われる主記憶装置に移されます。初めてCPUが命令を読み込めます。
しかしメモリは、ソフトウェアからの命令だけでなく、様々なデータを格納しています。各々のデータはアドレスと呼ばれる番号で管理された区画に収められています。
ではなぜ、CPUが命令を大量のデータ群から正しく取り出せるのでしょう?
それは、CPU内部のレジスタと呼ばれる記憶装置が命令の場所を知っているからです。

このレジスタはいくつも種類があり、それぞれ名称と役割を持っています。
・プログラムカウンタ…次実行すべき命令が格納されたアドレスを記憶する
・命令レジスタ…取り出された命令を一時記憶する
・汎用レジスタ…データの一時記憶や演算結果の保持など様々なことに対応できる
→ほかにも種類はありますが、まずこの3つだけ覚えましょう。
(無理はさせません)


それではCPUがレジスタや内部の演算装置を使ってどのように命令をメモリから取り出し、実行するか見ていきましょう!

イメージとしては下記のようになります。

命令実行サイクル


まず、CPUが行うのはメモリから命令の取り出しです(フェッチともいいます)。
上記のプログラムカウンタが次実行すべき命令のアドレスを記憶していますので、それに基づいて適切なアドレスから命令を取り出します。取り出した命令は上記の命令レジスタに一時的に保持されます。


次に命令レジスタに格納された命令を解読します(デコードともいいます)。解読には命令デコーダと呼ばれる命令を解読するためのCPU内部の制御装置を用います。
命令レジスタに格納された命令は、実行する処理の種類を表す命令部と、処理対象のデータが格納されたアドレスを表すオペランド部で構成されます。
そのうち、命令部が命令デコーダに送られ、内容を解読して命令を制御信号として対象の装置へ送信します。

読み込みはまだ終わりません。次は命令レジスタに残ったオペランド部の読み出しです。これを読みこんで、必要なデータを持ち出さないと命令を実行できません。
オペランド部に記載されたアドレスを基に必要なデータを取り出します。取り出した対象データは上記の汎用レジスタなどに一時格納されます。

命令の取り出し、解読とデータ取り出しを経てようやく命令を実行できます。
汎用レジスタに格納されたデータを取り出して演算などを行い、その結果をまた汎用レジスタに戻して命令が完了です。

これが一巡です。ですが、CPUはこれを何回も繰り返しているんですね。
命令の数だけ命令処理サイクルを繰り返し、全て命令の分だけ実行してようやく処理完了となります。


まとめ

CPUとはハードウェアを制御するコンピューターの脳で、制御と演算を行う

CPUレジスタという記憶装置を格納し、その内容に従って命令の取り出しと解読、命令の実行までを行う。

ポイントは、メモリは様々なデータを保持しているため、命令がメモリに格納されるときにアドレスという番号で管理されることです。 CPUはレジスタをうまく利用して適切なアドレスから適切な命令を取り出すのです。

今回はここまで! 次回もお楽しみに!!!


この記事が気に入ったらサポートをしてみませんか?