0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【基本情報・Chapter5】CPU

Posted at

今日はCPUに関する知識をまとめます。
お気づきの点がございましたら、ご指摘いただけると幸甚です。ᐖ

コンピュータ5つの装置

ハードウェアの5つの装置

  • 制御装置
    プログラムやデータを取り出し、内容を解釈して他のハードウェアを制御する
    例:CPU
  • 演算装置   
    プログラムに従って計算を行う
    例:CPU、GPU
  • 記憶装置
    コンピュータ内にデータやプログラムを保持する
    • 主記憶装置
      CPUから直接アクセスできる記憶装置のことで、メモリとも呼ぶ。
      電源を切ると情報が消えてしまうという弱点がある。
    • 補助記憶装置
      HDDやフラッシュメモリのことで、電気供給が停止しても恒久的に情報を保持するための機器
  • 入力装置
    コンピュータに情報を入力する
    例:キーボード、マウス、タッチパネル
  • 出力装置
    計算結果を外部に出力する
    例:ディスプレイ、プリンタ

CPU

Central Processing Unit 中央演算装置・プロセッサ
制御と演算を行う装置で、メモリからデータを読み込んで、ユーザーがアプリケーションソフトなどを通じて出した命令を解釈し演算を実行する。
CPU=制御装置+演算装置

ALU

Arithmetic and Logic Unit 算术逻辑单元
通常ALUはマイクロプロセッサの内部で使用され、データに対して算術演算(四則演算)や論理演算などの計算を行う装置。

装置間の制御やデータ(およびプログラム)の流れ

       

ノイマン型コンピュータ

von Neumann architecture
プログラムをデータとして記憶装置に格納し、これを順番に読み込んで実行するコンピュータ。現在のコンピュータのほとんどがこの方式を採用している。

アドレス・番地

address
CPUが直接読み書きできる、すべての空間を「アドレス空間(または、メモリ空間)」と呼ぶ。
アドレス空間は、1バイトごとに番号が振られている。
番号を「番地(アドレス)」と呼び、一般に16進数で表記される。

レジスタ

レジスタ

register 寄存器
コンピュータのプロセッサなどが内蔵する記憶回路で、制御装置や演算装置や実行ユニットに直結した、操作に要する速度が最速の、比較的少量のものを指す。

  • プログラムカウンタ
    Program counter PC 程序计数器、指令指针、指令地址寄存器
    次に実行するべき命令が入っているアドレスを記憶するレジスタ
  • 命令レジスタ
    instruction register IR 指令寄存器
    取り出した命令を一時的に記憶するためのレジスタ
  • インデックス(指標)レジスタ
    index register 索引寄存器
    アドレス修飾に用いるためのレジスタで、プログラムの先頭アドレスを保持する
  • ベースレジスタ
    base register 基地址寄存器
    アクセスしたいメインメモリ上の番地(アドレス)の基準値や先頭位置を記憶しておくためのもの
  • アキュムレータ
    accumulator 累加器
    演算の対象となる数や、演算結果を記憶するレジスタ
  • 汎用レジスタ
    general register 通用寄存器
    特に機能を限定していないレジスタ。一時的な値の保持や、アキュムレータなどの代用に使ったりする

cpu命令実行手順

命令の取り出し(フェッチ)
fetch
プログラムカウンタが示すメモリ番地から命令を取出し,命令レジスタへ格納する
命令の解読(デコーダ)
Decode
命令の命令部を解読し、実施する命令を把握する
命令を格納した命令レジスタ命令デコーダが活躍する
        

対象データ(オペランド)読み出し
Read
主記憶装置からオペランドを読み出す
        

命令実行
execution
命令を実行し、演算を行う。必要に応じて主記憶装置に結果をかき出す
        

まとめ→一連の手順

           

機械語のアドレス指定方式

実効(有効)アドレス

Effective Address
制御装置が命令を実行する際に、実際に使用するアドレスのこと

機械語

machine language、machine code
コンピュータの中央処理装置(CPU)が直接理解し実行することができる命令からなる言語。マシン語(マシンご)とも

命令語

instruction word
機械語で命令を表した語、あるいはコマンドCommandのこと。

アドレス修飾(指定)

modify address
機械語命令の演算数(オペランド)にあるアドレス情報を利用して、実行するべき命令の対象となるデータアドレスを決定することである。

指定方式

  • 即値アドレス指定方式
    immediate addressing 立即寻址
    オペランド部に操作対象のデータを指定する方式。主記憶装置からデータの取出しは行わない
    メモリ参照を行わないので高速に処理できる
            

  • 直接アドレス指定方式
    オペランド部の値を実効アドレスとする方式
            

  • 間接アドレス指定方式
    オペランド部に指定したアドレスに格納されたデータを実効アドレスとする方式
            

  • インデックス(指標)アドレス指定方式
    オペランド部の値とインデックスレジスタの値を加算した結果を実効アドレスとする方式
            

  • ベースアドレス指定方式
    オペランド部の値とベースレジスタの値を加算した結果を実効アドレスとする方式
            

  • 相対アドレス指定方式
    オペランド部の値とプログラムカウンタの値を加算した結果を実効アドレスとする方式
            

CPUの性能指標

性能指標

  • クロック周波数
    clock frequency 时钟频率(f)
    クロックが1秒間に繰り返される回数のこと。単位:Hz
    例: クロック周波数1G(ギガ)Hz
    $$
    1G=10^9=1000,000,000
    $$
    1秒間に10億回の信号が送られているということになる
    クロックサイクル時間(t):
    $$
    クロックサイクル時間(t)=\frac{1}{クロック周波数(f)}
    $$
    「クロック周波数1G(ギガ)Hz」という場合は:1ナノ秒

  • CPI
    Clock cycles Per Instruction 每条指令的平均时钟周期数
    CPUが1つの命令を実行するために必要なクロック数を表す性能指標
    例:1GHzのCPUで、1命令当たりのクロック数は4CPI
    →クロックサイクル時間は1ナノ秒で、1命令当たりの実行時間が4ナノ秒ということ

  • MIPS
    Million Instructions Per Second 每秒执行百万条指令数
    1 秒間に実行できる百万単位の命令数
    Million:「百万」
    Instructions:「命令(複数形)」
    Per:「~あたり」
    Second「秒」

    数値が大きくなるので、命令の数は百万単位で表す
    例:1命令当たりの平均が4ナノ秒というCPUがあった場合にMIPSを求めると:250MIPS

$$
MIPS=\frac{1}{CPI×t}=\frac{f}{CPI}
$$

命令ミックス

instruction mix
命令は、その種類によって実行が必要なクロックサイクル数が異なっていたりする。コンピュータやCPUの処理能力の計測に用いる計算や入出力などの命令の組み合わせのことである。

CPU高速化技術

パイプライン処理

pipeline 流水线
コンピュータ等が情報処理を行う際に、ある処理の出力が次の処理の入力になるようにした上で、複数の処理機構を並行させて動作させること

分岐ハザード・制御ハザード

branch hazard,control hazard
マイクロプロセッサ(MPU/CPU)のパイプライン処理で発生する問題の一つで、命令間の依存関係などによりパイプライン処理を止めたりやり直さなければならなくなること。

分岐予測

Branch Prediction
プログラム実行の流れの中で条件分岐命令が分岐するかしないかを予測することにより、命令パイプラインの効果を可能な限り維持し、性能を高めるためのCPU内の機能である。

投機実行

speculative execution
その予測に基づいて、命令処理を先に実行する仕組みを投機実行という。
★どちらに分岐するのかを予測(分岐予測)し、予測先の命令を先行してパイプラインに投入して実行し始めてしまうことを投機的実行という

スーパーパイプライン

super pipeline  超流水线
マイクロプロセッサ(MPU/CPU)の高速化手法の一つで、命令を細かい工程に分解して並列に実行するパイプライン処理を、高度に細分化・多段化したもの。

スーパースカラ

super scalar 超标量
マイクロプロセッサ(CPU)のアーキテクチャの一種で、複数の命令処理を同時に進行させることによって全体として高速な処理を実現する技術のこと。

CISC

Complex Instruction Set Computer 复杂指令集计算机
CPUの命令語の仕様の設計方針の一つで、複雑で高度な機能を持つ命令語をなるべくたくさん用意する考え方。パソコン向けなどで広く普及しているIntel社のx86系やx86-64系プロセッサなどが代表的である。

RISC

Reduce Instruction Set Computer 精简指令集计算机
MPU/CPUの命令語の仕様の設計方針の一つで、固定長の少数の単純な命令のみを備え、実行効率を向上させる考え方。主に高性能コンピュータ向けや携帯機器向けのプロセッサ製品で採用されている。

アーキテクチャ

architecture 架构
基本設計、設計思想
コンピュータ(特にハードウェア)の論理的な構成(法)のことである。


ここまで読んでくれて
お疲れ様です!
ありがとうございました!(⁎ᵕᴗᵕ⁎)

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?