うろ覚えですが、 モトローラは、ALUの演算単位が基準で、68008(内部ALU16bit、レジスタ基本32bit、データバス8bit)も16bitMPUと名乗っていたのに対し、 インテルはデータバス基準で、8088(内部ALU16bit、レジスタ基本16bit、データバス8bit)は当初 8bit CPU と名乗ってた憶えがあります。 でも、そのインテルの自己主張を無視しして IBM PC が8088を採用した「16bit マシン」と名乗っちゃって、その後なし崩し的にデータバス基準という習慣は無くなっちゃった感じ。
64bitにあらずばCPUにあらず (スコア:-1, オフトピック)
Linuxのディストリビューションで32bit版がPAEカーネルでないのは
懐古主義のディストリビューションだけでは。
Linuxでは32bit版というのは
64bitCPUで32bitアプリを動かすためのOSのことを指します。
64bitCPUがなければブートもできないのが普通です。
32bitCPUで起動できるという意味ではありません。
Re: (スコア:2, 参考になる)
Re: (スコア:0)
いや、勘違いじゃないと思ってる。
食い違いがあるのはコンピュータの解釈
私が言うコンピュータ=狭義のコンピュータ=ハードウェア
なぜ、こういう文脈かというと、タレコミからそれを感じたからだけどね。
そもそも、純粋な32bitCPUというものにはPAEはないよ。アドレス線がないんだから。
64bitモードとPAEはモードの違いであって、CPUの構造としてはひとつ。切り離すことはできない。
今時(構造が)64bitでないコンピュータは売られていない。
32bitで4GBしかアクセスできないOSというのは、意図的にそう作ってあるだけ。
Re:64bitにあらずばCPUにあらず (スコア:1)
一時期インテルのプロセッサで64bitsはないけどPAEはあるってのがなかったっけ?
Re:64bitにあらずばCPUにあらず (スコア:1, 参考になる)
IntelのCPUはPentium Pro以降全部PAE搭載かと。
元ACはアドレスバスが32bitじゃないから32bitCPUじゃないとか主張したいおかしな人なんでは?
Re:64bitにあらずばCPUにあらず (スコア:2, おもしろおかしい)
68000は32ビットCPUだから、8086とは格が違うと主張していた人の子孫ですかね。
Re: (スコア:0)
Re:64bitにあらずばCPUにあらず (スコア:2, 参考になる)
おおざっぱに3種類の分け方があってって話ですね
・アドレス空間(ポインタ)
・演算単位(int)
・I/O幅
太古の時代にはみんな揃ってたけどいまは皆バラバラなので
基本的には一番影響度が大きいアドレス空間の大きさが
基本指標となると
# 元の人は定義の議論以前に ゆんゆん系 っぽくて内容がワカメ過ぎ
Re: (スコア:0)
おおざっぱに3種類の分け方があってって話ですね
・アドレス空間(ポインタ)
・演算単位(int)
・I/O幅
太古の時代にはみんな揃ってたけどいまは皆バラバラなので
基本的には一番影響度が大きいアドレス空間の大きさが
基本指標となると
# 元の人は定義の議論以前に ゆんゆん系 っぽくて内容がワカメ過ぎ
一番、すっきりまとめた内容が出てくるまでこれだけ深くなるとは・・・
と、この話の流れで、64bit級という話が出ていないことにちょっと驚いた。
Re:64bitにあらずばCPUにあらず (スコア:3, 参考になる)
> ・アドレス空間(ポインタ)
> ・演算単位(int)
> ・I/O幅
> 太古の時代にはみんな揃ってた
いや、8080・Z80・6809・6502他8bitの時代から、アドレス空間は別ものですよ。バスはデータ8bitで、アドレス16bit。
16bitでも、8086はアドレス20bit、68000はアドレス24bit。
というわけで元コメント [srad.jp]のような、
PAEでアドレスが32bit超えてるCPUを「純粋な32bitCPU」と認めない、
なんていう流儀は未だかつて存在しないです。
あとは、「何ビットCPUなのか」についてはもはや「自称」が全てです。
判断基準としては、「アーキテクチャ的な基本レジスタ幅」「内部構造的な、ALUの演算基本幅」「データバスのバス幅」のどれかになりますが、
・Z80: 自称8bitCPU、レジスタ基本8bit、内部ALU4bit、データバス8bit
・68000: 自称16bitMPU、レジスタ基本32bit、内部ALU16bit、データバス16bit
・80386SX: 自称32bitCPU、レジスタ基本32bit、内部ALU32bit、データバス16bit
この3つを全て説明できるような統一された基準なんてのは無理です。
うろ覚えですが、
モトローラは、ALUの演算単位が基準で、68008(内部ALU16bit、レジスタ基本32bit、データバス8bit)も16bitMPUと名乗っていたのに対し、
インテルはデータバス基準で、8088(内部ALU16bit、レジスタ基本16bit、データバス8bit)は当初 8bit CPU と名乗ってた憶えがあります。
でも、そのインテルの自己主張を無視しして IBM PC が8088を採用した「16bit マシン」と名乗っちゃって、その後なし崩し的にデータバス基準という習慣は無くなっちゃった感じ。
Re: (スコア:0)
・アドレス空間は24bit
・でもプログラムカウンタは20bit
・命令コード空間は20bit
・レジスタは16bit
・I/Oは8bitと16bitが混在
なんてのがありました。
アドレス空間の1MB(0FFFFFH)超の空間はデータのみで命令は置けず、
しかもレジスタが16bitなのでアドレス計算だけで2サイクル必要、
当然ユーザからも開発者からも大不評で、短命に終わりました。
その後、その会社は全面的に32bitに移行してます。
Re:64bitにあらずばCPUにあらず (スコア:2, 参考になる)
MCは内部16bitだけど外部バスが8bitなので8bit MCUと名乗り、
一方他社には「内部8bitだけど外部バスが16bitだから16bitだと」と文句をつけて
おかげで他社は不当に高い関税を課せられていた記憶があります。
欧州での話ですが、当時8bitと16bitではかなり関税が異なりました。
MCが文句をつけたのは欧州市場に日本製MCUを入れさせないのが目的。
morikun
Re: (スコア:0)
関税が違ってくるとなると単純に「自称だ」で済む問題ではないですね。
逆に言うとこういう蒟蒻問答ができるようになったこと自体貿易の自由化が進んできた成果ってことですかね。
Re: (スコア:0)
>・演算単位(int)
>・I/O幅
>
>太古の時代にはみんな揃ってたけどいまは皆バラバラなので
>基本的には一番影響度が大きいアドレス空間の大きさが
>基本指標となると
いや昨今では一番影響度が大きい演算単位(int)の幅が指標になってるかと。
64ビットCPUをうたっていて、(論理アドレスはともかく)物理的に64ビットで
アドレッシングできるCPUってまだほとんどありませんし。
(サーバー用の多くの64bitもアドレスはほとんど40-50ビット程度です)
それに対して整数演算の幅はほとんどの64bitCPUではちゃんと64bitに対応しています。
Re: (スコア:0)
Re: (スコア:0)
AMD64は仕様上も52bit CPUにすぎないし現状の実装に至ってはすべて40bit CPUにすぎないとか主張するならまだ整合性があるんですけどねえ。元コメントの人の定義によるとAMD64のプロセッサも「CPUではない」ことになりますね。