CPU

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
abc

CPU

#1

投稿記事 by abc » 17年前

CPUのビット数はなにで決まるんですか??
8ビットCPUと16ビットCPUでは、桁数などが違いますよね

CPUのビットはCPUのどの部分で決まるんですか??

ibis

Re:CPU

#2

投稿記事 by ibis » 17年前

CPUが演算できる数値の範囲ですね。
8ビットCPUは8ビット(符号無し整数なら0~255、符号有りなら-128~127)以内のデータを扱えます。
16ビットCPUなら同様に16ビット(0~65535、-32768~32767)以内のデータを扱えます。
例えば8ビットCPUでは、符号無し整数の256以上や符号付き整数の-129以下と128以上の数値は扱えないわけです。

CPUのどの部分で決まるかというと、CPU全体ですね。
CPU全体が、そのビット数に合わせて作られてます。

まぁアセンブリ言語ではビット数を意識するのは主にレジスタなので、
CPUのビット数=レジスタのビット数、と考えてもいいかも知れません。
ちなみにレジスタというのは、CPU内にある特殊なメモリのことです。


アセンブリ言語を学べば、CPUのことはよくわかると思いますよ。
CPUの説明から始まるアセンブリ入門書は少なからずありますし(でもアセンブリの本って最近あまりないかも)
あるいは単にPCの内部構造やCPUの解説書とか、webサイトでも。
もしそういったことに興味があるなら、調べてみるのも面白いと思いますよ。

やそ

Re:CPU

#3

投稿記事 by やそ » 17年前

もう少し細かく言うならば、ビット数はCPUの配線の数(バス幅)で決まります。
32ビットCPUであれば物理的に32本線が並んでいて一度に電気が流れたり、流れなかったりして処理しています。(目に見えないくらい小さい配線ですけどね)

現在ではCPUの演算装置のバス幅で32ビットCPUだとか呼んでいると思います。
8ビット、16ビット時代にも記憶装置のバス幅は32ビットあったりしましたからね。

ibis

Re:CPU

#4

投稿記事 by ibis » 17年前

そうですね。
バスです。
あれはもう絶縁素材で覆われているので目に見えない・・・というのは冗談ですが、本当に小さいです。
CPUの電子顕微鏡写真があるくらいですしねぇ。

>8ビット、16ビット時代にも記憶装置のバス幅は32ビットあったりしましたからね。
それは私も知らなかったです。
・・・あ、そういえばスーファミで、ソフトによって32とか16とか違ってた気がするんですが、それがまさにそれですかねぇ?

余談ですが、PCに関して言えば16ビットの時点で未知の領域です。
なにぶん、この手の歴史には弱いもので。
ジェネレーションギャップといいますかね。
物心ついたのがバブル崩壊の頃ですし。

Sleepy

Re:CPU

#5

投稿記事 by Sleepy » 17年前

>CPUのビットはCPUのどの部分で決まるんですか??
データバス幅とCPUのビット数が一致するとは限りません。
レジスタ同士を組み合わせる演算もありますのでレジスタからビット数は一意に決まりません。
メーカが16ビットCPUと言い張っているのに中身は8ビットCPUだったりすることもあります。
パラレルバスでなくシリアルバスともなるとバス幅で表現するのは微妙です。

「厳密な定義はなく言ったもの勝ちで大多数の賛同を得られていること」が正解かと思います。

ところでabcさん、質問の意図はどこにあるのでしょう。
何かの宿題ですか?

abc

Re:CPU

#6

投稿記事 by abc » 17年前

CPUについてだいぶわかってきました。
宿題ではなく底の方の勉強も少ししているんで><
任天堂64って64ビットらしいですね笑

バスの本数でデータの行き来をしてるみたいですねCPU内にメモリがあり
そこを使うことにより高速化になるみたいですねー。
なんとなくわかったので解決させていただきますありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る