アカウント名:
パスワード:
なんかCPUの汎用レジスタのビット数と、開発言語やシステムコールで使う整数型のビット数は一致させる必要は無いのに、なんで多くの実装で一致させるんだろ?
昔はメモリアクセスがずっと遅かった。16ビットのシステムで32ビットのデータ、あるいは32ビットのシステムで64ビットのデータを扱うとアクセスに2倍より遥かに時間が掛かった。だから仕方なく合わせただけ。で、その遺産が多いからでは。
今は互換性の問題だけだろうけど。
今の飽食の時代に育った人が、戦中戦後の食糧不足や江戸時代の飢饉を理解できるわけもなし。
速度を無視しても64KByteのRAMが一万円くらいした時代に「整数は基本64bit」なんて企業でも苦しいしねw
いまもメモリ(DRAM)アクセスは遅いけど、L1・L2・L3キャッシュとたくさんキャッシュ積んでごまかしてるだけだよ
B言語の頃にはC言語でいうint型しかそもそも整数型がなかった
「整数型のビット数」の言葉の意味はよくわからんが、INT型の事なら開発言語は一致してないよ?レジスタ長64ビットでも、ほとんどの環境では32ビット。
システムコールで使う整数型(?)は、ポインタが格納される可能性があるのでレジスタ(x86の場合はRIP/EIP/IP)のビット数にあわせる必要がある。
カオスになるからじゃない?
正直64bitCPUのAndroidでは64bitのOSで64bitのアプリが動いていて欲しい。
AndroidはOS(とそこに乗っかるアプリケーション実行環境)の名前なのに「64bitCPUのAndroidでは~」というコメントがすでにひどいカオスになっているw
ではここで、android.comの文章を見てみよう。
What is AndroidThe platform changing what mobile can do.https://www.android.com/what-is-android/ [android.com]
AndroidThe platform changing what businesses can do.https://www.android.com/intl/en_us/enterprise/ [android.com]
この文章を書いた会社はAndroidが何の名前かわかっていないようだ。さらに自分で行った定義を覚えていることもできないのだ。
x64やaarch64なんかの64ビットCPUアーキテクチャでのLinuxや各種Unixでは、intが32ビット。お望みどおり「CPUの汎用レジスタのビット数と、開発言語やシステムコールで使う整数型のビット数は一致していない」環境ですよ。
ほとんどは「処理が簡単だから」でしょ
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
CPUの汎用レジスタのビット数と、言語・APIのアドレスは別でもいい (スコア:0)
なんかCPUの汎用レジスタのビット数と、開発言語やシステムコールで使う整数型のビット数は
一致させる必要は無いのに、なんで多くの実装で一致させるんだろ?
Re:CPUの汎用レジスタのビット数と、言語・APIのアドレスは別でもいい (スコア:1)
昔はメモリアクセスがずっと遅かった。
16ビットのシステムで32ビットのデータ、あるいは32ビットのシステムで64ビットのデータを扱うとアクセスに2倍より遥かに時間が掛かった。だから仕方なく合わせただけ。で、その遺産が多いからでは。
今は互換性の問題だけだろうけど。
Re: (スコア:0)
今の飽食の時代に育った人が、戦中戦後の食糧不足や江戸時代の飢饉を理解できるわけもなし。
Re: (スコア:0)
速度を無視しても64KByteのRAMが一万円くらいした時代に「整数は基本64bit」なんて企業でも苦しいしねw
Re: (スコア:0)
いまもメモリ(DRAM)アクセスは遅いけど、
L1・L2・L3キャッシュとたくさんキャッシュ積んでごまかしてるだけだよ
Re: (スコア:0)
B言語の頃にはC言語でいうint型しかそもそも整数型がなかった
Re: (スコア:0)
「整数型のビット数」の言葉の意味はよくわからんが、INT型の事なら開発言語は一致してないよ?
レジスタ長64ビットでも、ほとんどの環境では32ビット。
システムコールで使う整数型(?)は、ポインタが格納される可能性があるのでレジスタ(x86の場合はRIP/EIP/IP)のビット数にあわせる必要がある。
Re: (スコア:0)
カオスになるからじゃない?
正直64bitCPUのAndroidでは64bitのOSで64bitのアプリが動いていて欲しい。
Re: (スコア:0)
AndroidはOS(とそこに乗っかるアプリケーション実行環境)の名前なのに「64bitCPUのAndroidでは~」というコメントがすでにひどいカオスになっているw
Re: (スコア:0)
ではここで、android.comの文章を見てみよう。
What is Android
The platform changing what mobile can do.
https://www.android.com/what-is-android/ [android.com]
Android
The platform changing what businesses can do.
https://www.android.com/intl/en_us/enterprise/ [android.com]
この文章を書いた会社はAndroidが何の名前かわかっていないようだ。さらに自分で行った定義を覚えていることもできないのだ。
Re: (スコア:0)
x64やaarch64なんかの64ビットCPUアーキテクチャでのLinuxや各種Unixでは、intが32ビット。お望みどおり「CPUの汎用レジスタのビット数と、開発言語やシステムコールで使う整数型のビット数は一致していない」環境ですよ。
Re: (スコア:0)
ほとんどは「処理が簡単だから」でしょ