←講義のツボメニューへ
第9回、第10回
【2003,10,30 】
5 データの伝達
5,1 データ伝達とは
CPU内にはデータ(1語のデータ)の待機場所であるレジスタが複数個存在する。
各レジスタが孤立して存在するだけではレジスタは同じデータを永久に保持するだけである。
CPUの役目はデータの加工処理である。そのためには保持しているデータを目的に応じて変形する。
それには、加工目的の理解、対象データの読み出し、加工の実施、結果の格納等々の一連の作業を行う。
これらの加工処理の方法を順次解析するが、そのもっとも基本的な動作はデータを或るレジスタAからほかのレジスタBへ移すことである。
これをデータ伝達という。
データの伝達は、1語16ビットを一挙に送る並列伝送と、1ビットづつを時間的に逐次16回送る直列伝送がある。
CPU内部のデータ伝送はすべて並列伝送である。
5,2 データ伝達の関門 : ANDゲート
CPU内のデータの実体は、+5v、0vの2種類の電気信号である。1本の銅線に+5vが現れれば”1”信号であり
0vが現れれば”0”信号である。よって銅線1本は1ビットのデータの通路になるので、1語のデータを伝達する
通路としては16本の銅線が必要となる。またJK−FFでは、1個のFFの入力信号にJ,K,2本が必要である。
このようなJK-FFを使用しているレジスタにデータ信号を伝達するときは、1個のJK-FFにJ,K,2本の信号が必要になる。
その場合は、16ビットのレジスタへ伝達する信号線は32本必要である。
データ伝達にとって必要なこと→「伝えたいときだけ伝わる」
これを実現するには関門を必要とする。関門の役割は入力信号が0vであれば信号を遮断することである。
これを実現するには信号が伝達する2つの銅線を両方とも0vにすればよい。これにより、JK-FFは元の状態を保持し続ける。
この関門と同じ機能を果たすゲートがANDゲートと呼ぶ
ANDゲートの図
ANDゲートの動作表
G | Q | J |
0 | 0 | 0 |
0 | 0 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
5,3 ANDゲートの一般的な定義
ここはテキストのP23参照
5,4 ANDゲートの視覚的なモデル
ANDゲートは実際には半導体電子回路で実現されており、1個のLSIの中に500万ゲートも格納されている
あとはテキストのP23参照
5,5 データ伝達ルートの合流点 : ORゲート
複数個のレジスタがあるとき、当然ながら複数個それぞれの組合わせで、相互にデータを伝達する必要がある。
例えば4個のレジスタ相互間のデータ伝達ルートがあるとする。この時Dレジスタへ他のレジスタから流れるルートは
3本ある。よってAレジスタからDレジスタへのデータ伝達のときはA〜Cレジスタで信号が”1”の時にだけ関門を開き
そのほかの2つの関門は閉ざされている。ここで各レジスタからの信号が流れる信号線を直結するとどうなるのか?
これを実行するとショート電流が流れて信号線が焼損し、ANDゲートも焼損する。よって信号を合流させる新たなゲート
が必要である。この合流点のことをORゲートという。
5,6 ORゲートの視覚的モデル
これはテキストのP26参照
5,7 信号を逆転させるゲート : NOT
入力信号の”1”,”0”を逆転して出力へだすゲートをNOTゲートと呼ぶ
5,8 データの共有通路:バス
CPUのなかには簡単なもので10個程度、多いもので100個程度のレジスタがある。相互に橋渡的に伝達ルートをもうけると
レジスタ10個で45ルート往復90本必要となる。また1本の通路には内部的に32本(16ビット×2)の線が走っている。
よってデータの相互伝達のために膨大な配線とゲートとが必要になる。改善方法としては、1対1に橋渡し的に通路を通すのではなく
共用の幹線道路を使うと良い。コンピュータ用語では共通のデータ通路をバスという。
5,9 バスの作り方
ここはテキストのP27とP28を参照