- 締切済み
byteの語源
現在1byte=8bitというのが主流になっていますが、昔のマシンでは8bitでなく、6bitや9bitというものもあったそうです。なぜ8bitが主流になったのでしょうか?byteの語源はなんでしょうか?
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- 123to
- ベストアンサー率41% (26/62)
私の基本的な答えは#1の方と同じです。 「#1の方のお礼」のところで流れが分からないと書いてあったので、補足のつもりで書き込みを入れたのですが、よけい混乱させたみたいで恐縮しています。 時代の流れを考えれば分かると思うのですが、・・・ IBMが8ビット=1バイトを提唱したのが、1956年ですよ。なぜ「8」にしたかは、#2,3の回答のとおりですが、8ビットで各国の全ての文字を表示できるわけはなく、アメリカのIBMがそれで十分としたのです。その考えをもとに作られたのがASCIIコードで1963年に定められ、その後コンピュータ用文字コードとして広められました。 16進アドレスは縦・横の番地を16進数字で表示すると1バイトになるとして広まりました。 それらは、全て1チップのCPUやメモリーが出来る前の話です。 そうやって出来た流れを後発のメーカーや国の力では変えられなかったと言うことです。 CPUのハードだったら、何で今でも1バイト=8ビットなんかを使っているのですか、8ビットCPUなんて殆ど使ってないのに
>全メモリを9ビットに対応させることは、どのようにたいへんなのでしょうか? えとですね。 メモリチップというのは、一般消費者の場合、値段は「バイト数」と比較して買います。たとえば、256Mバイトチップはいくら? という具合です。 しかし実際にはメモリの値段は「総ビット数」で決まります。256Mバイトチップの場合、8ビット換算で「2048Mビットチップ」という言い方です。 9ビットCPUの場合、同じ2048Mビットチップでも、入るバイト数が小さくなりますから(227Mバイト)、なんか損したような気になり、消費者(当時は工場長とかだったんですが)の購買意欲を削ぐことになります。 またバイト数が少なくなると、それだけ入力できるプログラムの総量も少なくなり、より小さなプログラムしか実行できないということになってしまうわけです。 それに加え、8ビットチップ用デバイスよりも1ビット分太いコネクタを用意しなければなりません。 何万個というデバイスを同時に生産する工場にとって、デバイスの大型化はそのまま、材料費の増大に繋がります。 >具体的にどのような事をすることをいうのでしょうか? たとえば、8ビットでは漢字を表せないので、単純に2バイト(16ビット)にしてしまったりします。 また、CPUを速くするためと称して4バイトや8バイト単位で並列入出力を行ったりします。
- 123to
- ベストアンサー率41% (26/62)
1バイトの起源なんてあまり気にしていなかったのですが、 今から30年くらい前、IBMの方にコンピュータについて教えてもらった時に、「8ビットで1バイトになります。そのように覚えてください」と言われたのを思い出しました。 私はDECの12ビットのコンピュータを使ったことがありますが、ASCIIコードや16進アドレスが非常に使いづらかった思いだします。機械語を入力するのにわざわざ12進に直して入れなけばならないからです。 36ビットのコンピュータは、70年代のものです。 私が使っていたDECの上位機種です。NECも一時作っていました。 私見ですが、8ビット主流になったのは、ハード的な面よりソフト的な面の流れとか使いやすさのためだと思います。 コンピュータが広まりだした70年代、全世界シェア80%といわれていたIBMの標準仕様を崩せるメーカーなんかなかった。今、一世風靡しているMS社も最初はIBMのミニコン用のOSを開発していましたのですから。勝手なこと書きましたがご参考になれば幸いです。
- MovingWalk
- ベストアンサー率43% (2233/5098)
こちらでは、語源は、「8個のビット」(binary digit eight)や 「2進法の表」(binary table)など諸説あると紹介されていますが どれが正しいかは判断がつきませんね。 http://chubu.yomiuri.co.jp/keirin/njiten020120.html こちらの「9.1 数値」のところで「昔はバイト長が 9 ビットの 36 ビットマシンが ありました」と書かれていますが、どのくらい昔のことかわかりません。 少なくとも、マイクロプロセッサが世に出た1970年代以降ではないと思います。 http://redhat.dsi.internet2.edu/7.2/en/doc/HOWTOS/translations/japanese/Unix-and-Internet-Fundamentals-HOWTO コンピュータは文字だけを扱うわけではないので、2のべき乗の方が処理上 都合がよく、また、英数記号文字を表現できる最小の 2のべき乗が8なので 1バイト=8ビットになったのかなと推測しますがどうなんでしょう。 尚、「ザイログ社の8080」と書かれていますが、8080はインテル製です。 Zilog社はi8080互換+機能拡張版のZ80を開発した会社です。 http://www.intel.co.jp/jp/home/museum/hof/ http://homepage2.nifty.com/boardcr/computer/Micropro_his.htm
お礼
ありがとうございました 参考に載せていただいたURLを拝見しました もうすこしわかりやすければいいのですが。。
8ビットが主流になったのは、文字数の関係で都合がよかったからです。 ザイログ社の8080が主流となるより以前は、7ビットCPUとかもあったのですが、これは「アルファベットを表現するには7ビットで充分」という考えに基づく物です。 その後、多言語対応の考え方から1ビット増やして8ビットにしたCPUが生まれ、それで充分とみんなが考えたので、8ビットが主流になりました。 この際、9ビットが主流にならなかったのは、「トランジスタがもったいない」という理由によるものです。 たとえ1ビットでも、1つ増えれば、全メモリをそれに対応させなければいけませんから、最終的に増えるビットの量はかなり多くなります。 現在では、ビットが足りなければメモリを増やせばよい、という乱暴な考え方でなんとかなってしまうので、1バイトの定義が変化してしまうこともなくなってしまったのです。
お礼
ありがとうございます。 詳しく教えてくださって助かります。 多言語対応の考え方から8ビットが主流になったということ、9ビットを主流にするには、8ビットよりも多くの半導体を使用してPCを作らなければならなくなり、もったいなかったため、9ビットが主流になることはなかった、ということなんですね。 ところで、『たとえ1ビットでも、1つ増えれば、全メモリをそれに対応させなければいけませんから、最終的に増えるビットの量はかなり多くなります。』 とありましたが、8ビットを9ビットにするために、全メモリを9ビットに対応させることは、どのようにたいへんなのでしょうか? また『ビットが足りなければメモリを増やせばよい』 とありましたのは、具体的にどのような事をすることをいうのでしょうか?
- madman
- ベストアンサー率24% (612/2465)
Bitの語源は,Binary digitを簡略化したもの。 Byteの語源は,1956年 IBMの Werner Buchholz氏が"Bite"(1噛みの意味)の言葉をもじり,"byte" と名付けた人造語。 8bitマシンになったのは、単に規格をの統一性の為。
お礼
ありがとうございます。 『IBM Stretch コンピュータの初期設計時に Werner Buchholz が作った用語で、コンピュータのアーキテクチャごとにサイズは不定。現在は 7bit か 8bit なことが多い。』ということを聞いたのですが、現在の実情として、8bit以外の規格のものも存在するということでしょうか? なぜ規格統一の際に8bitが採用される流れになったのでしょうか?
お礼
ありがとうございます。 12ビットのコンピュータというのは想像がつきませんが、機械語になおして入力というのはとてもたいへんそうですね。その入力さえしたら後の処理はコンピュータが正確におこなってくれるんですよね。 ASCIIコードや16進アドレスというのはどのように使いにくかったですか? たくさんのことを教えていただくたびに奥が深いことを感じてとてもおもしろく思います。