64bit 版 MATLAB で定義できる配列の最大要素数は、なぜ 2^63-1 ではなく 2^48-1 なのですか?
17 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MathWorks Support Team
el 2 de Ag. de 2013
Editada: MathWorks Support Team
el 21 de Abr. de 2021
32bit 版 MATLAB で定義できる配列(行列)の最大要素数は、2^31-1 ですが、これと同様に考えると、64 bit 版 MATLAB で定義できる配列の最大要素数は、2^63-1 と予想されますが、実際は、なぜ 2^48-1 という数値に制限されているか、教えてください。
Respuesta aceptada
MathWorks Support Team
el 21 de Abr. de 2021
Editada: MathWorks Support Team
el 21 de Abr. de 2021
64bit CPU と 64bit OS におけるメモリ操作にはいくつかの制限があるためです。
現在、AMD や Intel の 64bit プロセッサでは、アクセスできるメモリのアドレスは 64 bit ではなく、48bit に制限されています。
CPU における制限の詳細については、各社 HP などをご参照ください。
ただし、理論的な要素数の制限は、2^48-1 個ですが、その他のシステムのメモリの制限などによって、実際にはその値まで使用することはできません(8bit データに対しては、300TB が必要となります)。例えば、OS による制約では、64bit Windows ユーザは、8TB(=2^43) までのメモリしか使用できません。
Windows X64における制限の詳細は下記のURLをご覧ください。
・(参考)マイクロソフト サポート オンライン
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre C MEX ファイル アプリケーション en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!