1WORDってなんなんだー!

多くの人は1WORD=16bitのイメージだけど、それってどうして16bitなの?例外はあるの?歴史的な背景は?っていうのをたくさん教えてもらったのでメモメモ。
12
えりっく @siritori

あっ32bitアーキテクチャならDWORDって32bitか

2011-05-08 04:44:22
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

wordには2つ定義があってレジスタサイズをもとにするもの(古典)とword=16bitとするもの(DOS由来)どっちにしろこのの発言は不思議感がある RT @siritori: あっ32bitアーキテクチャならDWORDって32bitか

2011-05-08 04:46:23
えりっく @siritori

@kosaki55tea えっ定義が二つあるんですか・・・ 前者しか知りませんでした

2011-05-08 04:47:13
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

@siritori 前者だったら DWORD(double word) は64bitじゃまいか ゚+.(・ω・)゚+.゚

2011-05-08 04:47:56
野良猫@がんばらない @mskwt

然語長 = バス幅 = 汎用レジスタ幅 な時代なら、WORD を定義できるが。NT Kernel は DWORD とか使ってないはず。ULONG, ULONG_PTR みたいなのばっか

2011-05-08 04:48:42
にゃははー仙人 @Flast_RO

wordとは各プロセッサが勝手に定義してる単位なのでbit数とかバス幅とか全く関係無い

2011-05-08 04:51:46
中村 実 @nminoru_jp

@kosaki55tea @siritori 歴史的にはもっと複雑です。まずDOSは8086-basedなので語長=レジスタ長=16bitになっています。

2011-05-08 05:24:37
中村 実 @nminoru_jp

@kosaki55tea @siritori かつてIBM System/360のPrinciples of Operation(PoO)2/4/8はhalfword/word/doublewordと定め、MIPSやSPARCもこれを踏襲しました。

2011-05-08 05:26:23
中村 実 @nminoru_jp

@kosaki55tea @siritori System/3x0、MIPS、SPARCなどは後に64-bit化しますがwordは32ビットのままになります。

2011-05-08 05:27:31
中村 実 @nminoru_jp

@kosaki55tea @siritori 次にDECのPDP-11が16-bitマシンとしてスタートword=16bitと定義しました。途中で32-bit化されましたがwordの定義を変えません。2/4/8はword/longword/quadwordと定義されました。

2011-05-08 05:28:21
中村 実 @nminoru_jp

@kosaki55tea @siritori 最初から64-bitだったAlpha AXPはDECの定義を踏襲しました。レジスタ長はまれた時から64ビットwordでしたが、wordは16ビットのままになります。

2011-05-08 05:29:30
中村 実 @nminoru_jp

@kosaki55tea @siritori そしてVAXに遅れて32-bit化を果たした80386もやっぱりwordの定義を変えずbyte/word/dword/qwordになるのはご存知の通り。

2011-05-08 05:31:42
中村 実 @nminoru_jp

@kosaki55tea @siritori 結局、wordは各社が自分がそうしたいbit幅に決めているのが現状です。

2011-05-08 06:17:32