WAITルーチン の 計算手順

明星大学 情報学科 2010年度後期
コンピュータ設計論
第3回
CPUの役割と仕組み1
CPUの仲間、命令形態、外部との接続
@ DENGINEER
本日 の メニュー
1.CPUとその仲間
2.CPUの役割
3.CPUの命令形態
4.CPUと外部との接続
1.CPUとその仲間(1)
CPU(Central Processing Unit)
中央演算処理装置
40ピン
DIPパッケージ
Z80 CPU(ザイログ社)
1.CPUとその仲間(2)
CPU(Central Processing Unit)
Core i7(インテル社)
1366ピン
LGAパッケージ
1.CPUとその仲間(3)
ワンチップマイコン
(1chip Micro Computer)
CPU、メモリ、入出力 I/Fを内蔵
小規模な装置のインテリジェント化に貢献
(キーボード、リモコン、家電 等)
1.CPUとその仲間(4)
ワンチップマイコン
PICシリーズ
(マイクロチップ
テクノロジー社)
40ピン DIP
18ピン DIP
20ピン SSOP
6ピン SOT-23
1.CPUとその仲間(5)
DSP(Digital Signal Processor)
信号処理用に
乗算、FFT、実数演算、
メモリコントロールについて
高速処理するように特化している。
CPUの著しい性能向上で、
高速性能が押され気味
1.CPUとその仲間(6)
GPU(Graphics Processing Unit)
3次元グラフィックス用に
行列、ベクトル、繰り返し の
各演算について、並列処理などで
高速処理するように特化している。
余剰気味なパワーを活かし、
データ処理にも活用されてきている。
2.CPUの役割(1)
システムの中心となり、演算を主体として
システムの各要素をコントロールする。
ノイマン型アーキテクチャ
・プログラム格納方式
・逐次制御方式
2.CPUの役割(2)
ノイマン型アーキテクチャ
・プログラム格納方式
プログラムをいったん主記憶装置に
読み込んで、命令を実行する方式。
・逐次制御方式
主記憶装置に記憶された命令を
1つずつ取り出して解釈し、
順に実行する方式。
2.CPUの役割(3)
CPUの構成
CPU
制御装置
演算装置
(ALU)
入力装置
主記憶装置
データの流れ
制御の流れ
補助記憶装置
出力装置
3.CPUの命令形態(1)
CISC
(Complicated Instruction Set Computer)
複雑な
命令セット
コンピュータ
RISC
( Reduced Instruction Set Computer)
縮小した
命令セット
コンピュータ
3.CPUの命令形態(2)
CISC と RISC の比較
CISC
RISC
機械語命令の実現
マイクロプログラム
ワイヤードロジック
機械語命令の種類
複雑で便利な命令が
多数
単純な命令 が 少数
機械語命令の長さ
命令により違う
すべて同じ長さ
演算対象
レジスタとメモリ
レジスタ
小さくてすむ
大きくなる
プログラム容量
パイプライン
1つの命令で
複雑なことができる
実行効率は よくない
単純な命令を
複数組み合わせる
実行効率が よい
3.CPUの命令形態(3)
機械語命令について
・マイクロプログラム
論理回路を制御する小さな命令を
組み合わせて、機械語命令を実現する
・ワイヤードロジック
論理回路の結線のみで、
機械語命令を実現する
4.CPUのと外部との接続(1)
信号線の種類
・アドレスバス
・データバス
・制御線
4.CPUのと外部との接続(2)
アドレスバス
対象となるデバイスの
場所を特定する
信号線
アドレス
0
1
2
3
:
:
基本的には
CPU ⇒ 周辺デバイス
単方向のバス
100
101
102
103
:
:
データ
:
:
A
B
C
¥0
:
:
4.CPUのと外部との接続(3)
データバス
デバイス間で
データを
やり取りする
信号線
CPU ⇔ 周辺デバイス
双方向のバス
アドレス
0
1
2
3
:
:
100
101
102
103
:
:
データ
:
:
A
B
C
¥0
:
:
4.CPUのと外部との接続(4)
制御線
各デバイスの 様々な
コントロールを
するため の信号線
機能ごとに独立した
専用の信号線
Z80CPUでの例
4.CPUのと外部との接続(5)
主な制御線
・クロック
・・・動作のペースメーカ
・リセット
・・・システムの初期化
・読み出し
・・・周辺デバイス ⇒ CPU
・書き込み
・・・CPU ⇒ 周辺デバイス
・メモリリクエスト
・・・メモリへのアクセス
・I/Oリクエスト
・・・ I/O へのアクセス
4.CPUのと外部との接続(6)
バス接続
バス(BUS)・・・乗り合い
信号線を共有して使えるようにする仕組み
複数のデバイスを扱うとしても、
逐次制御方式の原則から、
同時にやり取りするのは1つだけ
共通化できるところをまとめて、
資源の有効利用
4.CPUのと外部との接続(6)
バス接続をしない場合
CPU
ROM
RAM
4.CPUのと外部との接続(6)
バス接続をした場合
CPU
ROM
RAM
4.CPUのと外部との接続(7)
3-State Gate
3つの状態がある出力
信号線を共有して使えるようにする仕組み
H レベル
OFF
L レベル
4.CPUのと外部との接続(8)
3-State Gate
に しないと。。。
出力どうしがショートしてしまう!
4.CPUのと外部との接続(9)
3-State Gate
を 使うと。。。
OFF
基本は出力が OFF
4.CPUのと外部との接続(9)
3-State Gate
を 使うと。。。
H レベル
左のデバイスが H を出力すると バスは H
4.CPUのと外部との接続(9)
3-State Gate
を 使うと。。。
OFF
用事が済んだら OFF に戻す
4.CPUのと外部との接続(9)
3-State Gate
を 使うと。。。
L レベル
右のデバイスが L を出力すると バスは L
4.CPUのと外部との接続(10)
制御信号のタイミング
クロック信号
4.CPUのと外部との接続(10)
制御信号のタイミング
アドレスバス信号
4.CPUのと外部との接続(10)
制御信号のタイミング
メモリリクエスト信号
4.CPUのと外部との接続(10)
制御信号のタイミング
読み出し信号
4.CPUのと外部との接続(10)
制御信号のタイミング
書き込み信号
4.CPUのと外部との接続(10)
制御信号のタイミング
データバス信号
4.CPUのと外部との接続(10)
制御信号のタイミング
ウェイト信号(デバイス側が必要に応じて発行)
4.CPUのと外部との接続(10)
制御信号のタイミング
OFF状態(HでもLでもない)
4.CPUのと外部との接続(10)
制御信号のタイミング
このタイミングで、
CPUがデータを読み出す
RDを受け、メモリが
データバスにデータを出す
4.CPUのと外部との接続(10)
制御信号のタイミング
WRの立ち上がりで、
メモリにデータを書き込む
CPUが、
データバスにデータを出す
@