いくつか質問があるのでお願いします。まず、表題にあるとおり32ビットCPUは本当に物理、仮想メモリを含めて4Gまでしかメモリをもてないんですか?
【第一の質問です】
32ビットCPUでいう32ビットとは一般的にCPUのレジスタのサイズのことですよね。(もしかしたら、一度に32ビットのサイズでデータを処理できるという表現のほうが正しいのかもしれませんが,,)
で、次に第二の質問なんですが突き詰めると、このレジスタのうちのどこのレジスタが32ビットなんですか?
CPUが次に読み込むべき、メモリの住所(位置)をあらわす、いわゆるメモリアカウンタントのことですか?それともレジスタ全体そのもののことでしょうか?
【これが第二の質問です】
三番目は(1)の質問がYESだとする前提で質問を行います。
4Gという数字は2の32乗のことだというのはわかっているのですが、実際メモリが仮想メモリー(HDDへのスワップ領域)も含め4Gという容量で足りるのですか?
いくらCPUの演算部で先に処理が完結したものからHDDに退避させるとはいえ、4Gという数字は少々、少なすぎる気がするんですがどうでしょうか?
【三番目の質問です】
答えられるものだけでいいので、教えてください。どうかお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
一般論としては、「32ビットCPUはメモリを4GBまでしか扱えないか?」の答えは否、です。
例えば、通常Pentium4は32ビットCPUと呼ばれますが、64GBまでのメモリを直接扱うことができます。また「32ビットCPU」と呼ばれる所以である「32ビット」が何のビット幅を指しているのかは非常に曖昧です。汎用レジスタの幅であったりメモリアドレッシングの幅であったり、CPUチップそのものから出ているデータ入出力信号の幅であったりします。
3番目については、例えばWindowsでは1プロセスあたりの仮想メモリ空間が4GBに制限されますが、この制限のために非常にプログラムの作成に苦労したことが実際にあります。
小手先の処理で何とか4GB(アプリケーション用には2GB)の仮想メモリ空間に収めましたが、100GBくらい仮想メモリ空間が欲しい処理を行うものでした。物理メモリは1GBもあれば十分だったのですが。
現在4GBというメモリ空間は分野によってはかなり手狭なものになっており、64ビットOSの真のメリットもそこにあります。
No.2
- 回答日時:
1、x86CPUは、実際には36bitのアドレスを持ち、最大64GBまで扱えます。
むしろこの場合の4GBとは、OS側の設計による影響であるとも言えます。実際、Windows2000Advanced Serverは8GB、Datacenter Serverでは64GBのメモリをサポートします。
ただし、一つのプロセスがフラットに扱えるメモリの量は4GBです。
参考資料:Windows 2000とは何か?(改訂新版) 11.Windows 2000 Serverの概要(4)
「Windows 2000 Advanced Serverの機能」あたりが詳しいでしょうか。
http://www.atmarkit.co.jp/fwin2k/special/whatisw …
第二ですが、これはどちらかというと、実は32bitプログラミングにおける、C言語で言うところのポインタの問題だったりするような気がします。だから、仮想記憶上のアドレス、という事で良いと思います。32bitプログラミングでは、メモリは(少なくとも一つのプロセスでは)4GBまでですよ、という事で互換性を保つ方法を取っていると考えて良いのではないでしょうか。
参考資料:ポインタとメモリと型(構造体)の関係 (1)
http://www.mm2d.net/c/c-14.shtml
3、えーと…これは前提が変わっていると思いますからちょっとアレなんですが、実際にメモリは(少なくとも普通のユーザが使ってるマシンでは)最大4GBまでしか積めないし、実際それでなんとかしてます。これはHDDのスワップ領域も含め4GBです。それどころか、通常はシステム領域で2GBまで、ユーザ領域で2GBまでです。
一応私専門家のつもりですが、システム管理が専門です。
この質問に本当に答えるには、おそらくプログラミングの知識を(スクリプトレベルではなく)理解している必要があると思います。という事で「自信なし」
No.1
- 回答日時:
1. 32bitはデーターバスのサイズです。
一つのアドレスで扱えるデーターが32bitですから、レジスタを使用するCPUの場合、レジスタのサイズも32bitにしています。
2. 1つのレジスタのサイズです。全体では有りません。
アドレスとも無関係です。
3. データーバスの幅とアドレス空間は無関係です。
あと、4Gって 非常に広大な空間と思いますが。
一昔前だとHDDの容量ですらそんなに無かったんですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CPUの問題について 2 2022/07/09 12:04
- CPU・メモリ・マザーボード CPUがメモリ上に書かれている命令を実行した後の流れについての質問です。 1 2023/05/05 01:18
- CPU・メモリ・マザーボード CPUがメモリ上の命令を実行する流れについての質問です。 3 2023/05/05 01:41
- CPU・メモリ・マザーボード CPUで動作しているOSについての質問です。 3 2023/05/05 00:10
- Windows 10 Windows7からとWindows8.1からのWindows10アップグレート 12 2023/01/12 18:18
- ノートパソコン 予算は5万円ぐらいで ノートパソコン 選び 9 2023/01/15 10:13
- ノートパソコン ノートパソコン どちらが良いでしょうか? 5 2023/04/02 22:08
- CPU・メモリ・マザーボード CPUがメモリ上の命令を実行した後の流れについての質問です。 1 2023/05/05 01:36
- CPU・メモリ・マザーボード emachines eme732z f22bというパソコンのCPU交換についてです。 CPU Pen 3 2022/08/25 22:53
- その他(OS) OSとCPUの関係について 2 2023/05/04 23:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メモリの「コミット済み」の意...
-
実装メモリとタスクマネージャ...
-
最先端のCPUを詰んだAndroidス...
-
Windows98SE ・Meの動作「上限...
-
会計ソフトJDL macで使いたい W...
-
vmstatで、メモリ使用率を計算する
-
XPでメモリが2GBまでしか認識し...
-
Windows XPの32ビット版と6...
-
仮想メモリとページファイルの...
-
ノートPCの処理速度が遅くなる...
-
「タスクマネージャ」で「イメ...
-
MacとWinのメモリの違いについて
-
皆様に聞きたいです。
-
CPU使用率の算出方法
-
MacBook Airの買い替えについて
-
自作PC:IntelとAMD
-
アプリケーションの強制終了の...
-
iBook G4 メモリ増設を考えてい...
-
Power macG5(1.8GHZデュアル)...
-
デスクトップアイコンに黒い四...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メモリの「コミット済み」の意...
-
Windows98SE ・Meの動作「上限...
-
MacBook Airの買い替えについて
-
最先端のCPUを詰んだAndroidス...
-
実装メモリとタスクマネージャ...
-
vmstatで、メモリ使用率を計算する
-
MacとWinのメモリの違いについて
-
backing storeって何ですか?
-
Windows XPの32ビット版と6...
-
メモリ割り当ての増やし方
-
会計ソフトJDL macで使いたい W...
-
皆様に聞きたいです。
-
仮想メモリ
-
MacBookを買おうと思ってるので...
-
「タスクマネージャ」で「イメ...
-
WinAPIのGetLocalTimeの分解能は?
-
仮想メモリとページファイルの...
-
WindowsアップデートでExcelが...
-
古いwindowsPCをどのように使う...
-
Windows NT 4.0 のシステム要件
おすすめ情報