Category 1_8. 中央処理装置 〜バス〜

コンピュータはCPUを中心に動いている

そのCPUと他装置間を結んでいるのが「バス」と呼ばれる回路だ

今日は、そのバスについてもう少し詳しく

おやじ、前回聞き漏らしたんだけどよ、32bitとか64bitっていうCPUについてなんだが・・・どういう意味なんだ?

前回聞き逃しちゃいましたからねぇ、ヒゲ先輩。

そういえばそんな様な事を言ってましたね。

じゃあ、今日はバスの仕組みについてお話をしましょうか。

 

おい!バスじゃなくて、32bitとか64bitとかって一体何が違うんだってきいてんだよ!

マスター、本当は知らないんじゃないっすかぁ?ニヤニヤ

・・・。

バスとは何のことか、覚えていますか?お二人とも。

 

(無視しやがった・・・

装置間を結ぶ回路の事だろ?それくらい覚えてるぞ。

確か、金が含まれているとか聞いたっすね。

そうですね、ですがこのバスもまたいろいろとお話したい事があるのです。

前回、CPUとメモリの連携のお話をしましたよね。

 

あぁ、だからそのCPUとメモリを結んでいるのもバスだろ?

命令とかデータを送っているんすよねー。

ご名答です。

今M君は、「命令とかデータを」と言いましたが、それだけではないのです。

思い出してください、メモリの特性を。


バスの種類

んあ・・・?

確か、メモリにはメモリセルがあって・・・アドレスがあるって奴か?

そういえば、そんな事を以前補講で聞いたっすね・・・。

そうです。つまりCPUはメモリから情報を読み取る場合も書き込む場合も、メモリに対してそれら「データ」、「アドレス」、「制御」を与える必要があります。

それぞれの信号を与えるためのバスを以下にあげてみましょう。

[table_cat1_8_1 CPUとメモリ間のバス]

 

ほぉ、じゃあ基本的にはメモリICに対する読み書きと流れは変わらないって事か?

意外と簡単っすねぇ。

そうですね、流れは変わりません。

これらのバスはそれぞれ数本から数十本で配線されています。

なぜならバス一本に対して一度の送信できる情報は1bit(0と1)だから・・・って意味わかります?


アドレスバスとデータバス

あぁ、これも以前やったよな。あれだろ、アドレスバスが8本あったら8bit分のアドレス空間を指定する事が出来るって事だろ?

1本しかバスが無かったら0と1のアドレスしか指定できないっすもんねぇ。

お二人ともご名答です。今日はすばらしいですね、どうしたのですか。

データバスも同じで、バス本数が多ければ多いだけ沢山の情報を一度にやり取りできるのですね。


コントロールバス

コントロールバスっていうのは・・・「読み」「書き」「何もしない」って事は指示が3通りあるんだな。

ということは・・・?

「00」「01」「10」の3通りって事だからコントロールバスは2本で足りるっすね。

ぉ、M君!2進数出来るようになってきたじゃないですか!

そうですね、コントロールバスは一般的に2本です。

 

一般的にって・・・じゃあアドレスバスもデータバスは一般的に何本なんだ?

えへへ〜 ほめられちった。

アドレスバスも、データバスも「CPUアーキテクチャ」によって違ってきます。

それらはどれも内部にもつ「レジスタ容量」によって依存していることが多いですね。


32ビットと64ビット

レジスタ容量・・・か。

うぬぬぬぬ、レジスタの話も聞いてみたいっすね。

そのCPUアーキテクチャに、ヒゲ先輩が知りたがっている「32bit」やら「64bit」やらが有るんですよ。

レジスタ容量、データバス、アドレスバスが32bitだと32bit版CPUになります。

それが64bitだと64bit版CPUです。

 

おお!そういう事か!

ということはなんだ、64bit版CPUって事は、アドレスバスも64bit分(64本)あるからアドレス空間が広くなる=利用できるメモリ容量が増えるってことだろ!?

はっはぁ、データバスも広くなれば一度にやり取りできるデータ量も増えるから効率が良くなるっすね!

まぁ、理論上2倍になりますから、効率も2倍にはなるんですがね。

ですが、この32bitやら64bitやらのCPUは、実は結構定義が曖昧なんですよ。

というのも、レジスタ、データバス、アドレスバスは必ずどれもbit数が一致しているとも限らないですし・・・。

 

なんだそれ・・・。

データバスが16bitくらいで、アドレスバスが32bitなんていうのもあるんすか!?

実際ありますよ。

モトローラ社製「MC68000」CPUは、内部レジスタが32bitで、データバスが16bit、アドレスバスが24bitになっています。

モトローラ社はこのMC68000CPUを16bit版CPUとしています。

 

データバスが16bitだから16bitCPUなのか・・・?

もしかしてCPUメーカーによって違うとかっていう最悪な・・・

まぁ、そんなところです。

ですが、最近では64bit版CPUは扱えるメモリ空間が大きいとか、一度に扱うデータ量が大きいという事が一種の常識となりつつありますので、そのように覚えてもらっても構いません。

 

じゃあ、買うときは64bit版のCPUのが良いんだな!

ヒゲ先輩、また店長に言われたんじゃないっすか・・・?

CPUだけ64bitにしても意味ないですよ。

そもそもCPUとその他の装置間のバスを提供しているのは「マザーボード」なので、64bit版に対応したマザーボードが必要になります。

またOSも64bit版に対応し、またアプリケーション自体も64bitに最適化されたものと、ドライバも64bit版に・・・ぐだぐだ

 

・・・。

・・・。

と、まぁ32bit版CPUがまだ主流となっている今においては、そう急いで買う必要はないと思いますよ。

そもそも貴方達が64bit版をもったところで使いこなせないんじゃないですかね・・・?

 

あぶなかった・・・先におやじの話を聞いておいてよかったぜ。

あ やっぱり店長にまた、勧められていたんすねー。買わなくて良かったっすねー先輩。
前回の経験を生かして、先に私に聞いてよかったですねー。前回の授業料が役に立ったじゃないですか。

CPUバスの動作

そ、そうだな・・・痛い出費だったが・・・。

結局、クーリングオフが出来なかったんすねぇ・・・。

あまり思い出すと笑ってしまいそうなので、本日のまとめをしてみましょうか。

[movie_cat1_8_1 CPUバス]

 

おーしっ!今日もわかった!この調子ならすぐにエンジニアになれそうだぜ!

え、ヒゲ先輩!本当になるつもりなんすねぇ・・・。

オイラもゼミの論文に今日の事書いておくっすよ!

お二人ともがんばってください。

本日のお会計は4790円になります。

またのお越しをお待ちしております。

 

今日のポイント

 ・バスには、データバス、アドレスバス、コントロールバスが存在する

 ・それぞれ数本のバスが配線されている

 ・レジスタ、アドレスバス、データバスの容量(本数)等によって、CPUのビットアーキテクチャ(32/64)が決定される

前回へ TOPへ  今回の補講へ 次回へ

Copyright since 2010 IT Category Project All rights reserved.
inserted by FC2 system