![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
32ビットプロセッサで汎用レジスタの数が32本なのはRISCプロセッサの例がありますが、パソコンで使われているPentium系プロセッサの場合は32ビットの汎用レジスタは8本しかありません。
例、EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP
インテル社が汎用レジスタの本数を増やしたがらない為ですが、汎用レジスタが単にデータの一時退避用として使われるだけならば、レジスタ本数は32本あった方が良いのでしょうが、演算やアドレッシングなどで多用される場合には、複雑な配線が必要になる汎用レジスタは多くない方が集積度を上げるのに有利だろうと思います。
ATOMプロセッサとして知られているネットブック用のCPUは性能が低いですが、大きさが小さくて大量生産に向いています。CPUが小さくなるほどコストが下がるので、レジスタ本数をむやみに増やしてCPUを大きくするよりも小型化を進めた方が安価になります。
Pentium系プロセッサはレジスタ数を増やすよりもマルチコア化して並列演算能力を高める方向に進んでいますが、レジスタ数が多いほど性能が良いとは限りません。
32ビットレジスタが4倍の32本あるよりも、4コアのプロセッサの方が並列演算性能は上です。Pentium系プロセッサの汎用レジスタが8本なのは、過去の86系プロセッサとの互換性の為でしょうが、16ビットから32ビットになってもレジスタ本数を8本から変えなかったのは先を読んだ判断だったのだと思います。
No.4
- 回答日時:
レジスタの数が少ないと、演算中にレジスタが足りなくなったときにデータをメモリに読み書きしなければいけなくなって遅くなる可能性があります。
一方、レジスタの数が多いと、OSがコンテキストを切り替える毎に保存・復帰しなければいけないデータ量が増えて、これまた遅くなる可能性があります。
また、性能以外に命令長の問題もあります。
レジスタが16個あったとすると、レジスタ番号を指定するのに4ビットが必要です。レジスタが32個なら5ビットです。
これに対して、命令長は通常8ビットの倍数 (x86では8ビット単位の可変長、多くのRISCは32ビットか16ビットの固定長) です。
レジスタを2つ使用する命令があったとして (ADD Rx, RyとかLD Rx, [Ry+20]とか)、レジスタ数を16個から32個に増やすとその指定に2ビット余計に必要になります。しかし、命令長を2ビットだけ伸ばすことは上述のとおり簡単ではないので、その分命令の種類を減らしたり、命令中に埋め込む即値のビット数を減らしたりしなければいけなくなります。思い切って命令長を8ビット伸ばしてしまうという選択肢もありますが。
他の要素もあると思いますが、これらのバランスの上にレジスタ数は決定されます。他の人も書かれているとおり、32ビットCPUなら32レジスタ程度と決まっているわけではありません。
No.3
- 回答日時:
レジスタの数は、そのCPUの設計によるので、別に32bitプロセッサだから32個、と決まっているわけではないです。
また、レジスタの数はたくさんある方が性能を上げやすいですが、むやみに増やしても性能が上がるわけではありません。
No.2
- 回答日時:
「32ビットプロセッサ」として何を念頭に置いていますか?
例えば Intel 386 では 8本ですし, Motorola 68020 ではデータ 8本+アドレス 8本ですよ.
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_13.png?5a7ff87)
No.1
- 回答日時:
質問の意味が不明なのですが、解釈して回答してみますね。
32ビットプロセッサでは、確かに32本程度の汎用レジスタが存在します。増やしても良いのですが、減らすと確かに悪影響があります。これは、演算などを行う際に、演算パイプラインなどを内蔵するのですが、これの計算単位がビット単位になるからです(ALUという演算回路では、乗算や除算では、ビットシフトの方が早い)。
まあ、そんなわけです。
ちなみに、一応調べてから質問した方が、数多くの回答が得られるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) PIC16F1シリーズマイコンのNCO機能について 1 2023/04/18 08:41
- 国産車 【自動車のエアコンはレジスタを介して回路が成立する】の、レジスタって何ですか? 2 2023/01/22 21:03
- システム CPUの問題について 2 2022/07/09 12:04
- その他(ソフトウェア) 「.movpkg」「.m3u8」ファイルを「.mp4」に変換できるお勧め有料ソフトをご教示ください 1 2022/10/20 11:04
- 数学 是を見れば、日本の数学教育が失敗した事が分かりますね? 8 2022/12/16 16:07
- 工学 レジスタとラッチの動作の違いについて教えてください 1 2022/11/30 23:13
- モニター・ディスプレイ 新しいPCモニターの購入を考えています。株取引とFX取引。 4 2022/05/01 12:19
- その他(趣味・アウトドア・車) EVなんて買って大丈夫? ある開発者から聞いたんだけど5年も使っていると充電池に著しい劣化が 5 2023/07/07 16:32
- 経済学 起業件数の増加は いいこと?悪いこと? 自治体の政策として、起業件数の増加を目指す考えが示されると「 5 2023/05/25 23:21
- 環境・エネルギー資源 メタネーション 3 2023/03/29 04:33
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レジストってなんですか?
-
biosとは人の体でいえば脳のよ...
-
SRAMとレジスタの違いは何でし...
-
FILOとLIFO
-
CPUのビット数と、メモリ(主記...
-
Z80、6502、i8086、MC68000につ...
-
レジスタとメモリについて
-
パソコン内部の仕組みについて
-
エクセルVBAのIf,Then 構...
-
0xffffとは?
-
8ビットのデータの、先頭ビット...
-
ライン数とステップ数の違いは?
-
[VBS] 素早くローテート演算したい
-
PC-9801でマシン語を学習するに...
-
素数を求めるプログラム(アセン...
-
03分22秒36のような時間の単位...
-
実行ファイルからソースはみれる?
-
1の補数
-
一般のソフトで画像を扱う場合...
-
汎用レジスタのワーキングビッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レジストってなんですか?
-
CPUのビット数と、メモリ(主記...
-
レジスタの数
-
SRAMとレジスタの違いは何でし...
-
シーケンサのデータレジスタD...
-
レジスタとメモリについて
-
biosとは人の体でいえば脳のよ...
-
専用レジスタ 汎用レジスタ
-
PICでUSARTのフレーミングエラ...
-
キャッシュメモリとレジスタの...
-
なぜソフトウェアでハードウェ...
-
CPUのハード的な仕組みがわかり...
-
PC-G830
-
命令
-
CASL LDの考え方
-
MP-Z80(10進数の加算)
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
-
情報科学の飽和演算、ラップア...
おすすめ情報