| バイト | |
|---|---|
| 単位系 | ビットから派生した単位 |
| 単位 | デジタル情報、データサイズ |
| シンボル | B、 o(8ビットの場合) |
バイトは、最も一般的には8ビットで構成されるデジタル情報の単位です。歴史的に、バイトはコンピュータでテキストの1文字をエンコードするために使用されるビット数であり[1] [2]、このため、多くのコンピュータアーキテクチャでアドレス指定可能な最小のメモリ単位となっています。任意のサイズのバイトを一般的な8ビットの定義と区別するために、インターネットプロトコル( RFC 791)などのネットワークプロトコルドキュメントでは 、8ビットバイトをオクテットと呼んでいます。[3]オクテット内のビットは通常、ビットエンディアンに応じて0から7または7から0の番号でカウントされます。
バイトのサイズは歴史的にハードウェアに依存しており、サイズを義務付ける明確な標準は存在しなかった。1~48ビットのサイズが使用されてきた。[4] [5] [6] [7] 6ビットの文字コードは初期のエンコードシステムでよく使用された実装であり、1960年代には6ビットおよび9ビットのバイトを使用するコンピュータが一般的であった。これらのシステムは、2、3、4、5、6、8、または10個の6ビットバイトに対応する12、18、24、30、36、48、または60ビットのメモリワードを持つことが多く、レガシーシステムでは21世紀まで存続した。この時代には、バイトという用語が一般的になる前は、命令ストリーム内のビットのグループ化はシラブル[a]またはスラブと呼ばれることが多かった。
ISO/IEC 2382-1:1993 に記載されているように、現代の事実上の標準である 8 ビットは、2 の累乗であり、2 の 8 乗は 256 であるため、1 バイトに 0 から 255 までのバイナリエンコード値を許可する便利な2 の累乗です。 [8]国際標準IEC 80000-13は、この共通の意味を成文化しました。多くの種類のアプリケーションは、8 ビット以下で表現できる情報を使用しており、プロセッサ設計者は通常、この使用に合わせて最適化します。主要な商用コンピューティングアーキテクチャの人気により、8 ビットバイトが広く受け入れられるようになりました。[9]現代のアーキテクチャでは通常、それぞれ 4 バイトまたは 8 バイトで構成される 32 ビットまたは 64 ビットのワードが使用されます。
バイトの単位記号は、国際電気標準会議(IEC)と電気電子学会(IEEE)によって大文字のBで指定されました。 [10]国際的には、単位オクテットは8ビットのシーケンスを明示的に定義し、「バイト」という用語の潜在的な曖昧さを排除しています。[11] [12] 。オクテットの記号「o」は、バイトとベルの間の記号「B」の曖昧さを都合よく排除します。
語源と歴史
バイトという用語は、1956年6月にヴェルナー・ブッフホルツによって造られた。 [4] [13] [14] [b] IBM Stretch [15] [16] [1] [13] [14] [17] [18]コンピュータの初期設計段階で、ビットへのアドレス指定と、バイトサイズが命令にエンコードされた可変長フィールド(VFL)命令を持っていた。[13]これは、誤ってビットに変化するのを避けるために、biteを意図的に書き直したものである。[1] [13] [19] [c]
コンピュータのワードサイズよりも小さいビットグループ、特に4ビットのグループを指すバイトのもう1つの由来は、ルイス・G・ドゥーリーによる記録に残っている。彼は、 1956年か1957年にMITリンカーン研究所でジュール・シュワルツ、ディック・ビーラーとともにSAGEと呼ばれる防空システムに取り組んでいたときにこの用語を造ったと主張している。SAGEはランド研究所、MIT、IBMが共同で開発したシステムである。 [20] [21]その後、シュワルツの言語JOVIALで実際にこの用語が使用されたが、著者はそれがAN/FSQ-31から派生したものだと漠然と記憶していた。[22] [21]
初期のコンピュータは、さまざまな 4 ビットの2 進化 10 進数(BCD) 表現と、米国陸軍( FIELDATA ) と海軍で一般的な印刷可能なグラフィック パターン用の6 ビットコードを使用していました。これらの表現には、英数字と特殊なグラフィック シンボルが含まれていました。これらのセットは 1963 年に 7 ビットのコーディングに拡張され、米国標準情報交換コード(ASCII) または連邦情報処理標準と呼ばれ、1960 年代に米国政府および大学のさまざまな部門で使用されていた互換性のないテレプリンター コードに取って代わりました。ASCII には、大文字と小文字のアルファベットの区別、および書き言葉の送信、ページ送りや改行などの印刷装置の機能、および送信メディア上のデータ フローの物理的または論理的制御を容易にする制御文字のセットが含まれていました。[18] 1960年代初頭、IBMはASCII標準化にも積極的に取り組んでいたが、同時にSystem/360の製品ラインに8ビットの拡張2進化10進コード(EBCDIC)を導入した。これは、以前のカードパンチで使用されていた6ビットの2進化10進数(BCDIC)表現[d]を拡張したものである。 [23] System/360の知名度により、8ビットのストレージサイズが広く採用されるようになったが、[18] [16] [13] EBCDICとASCIIのエンコード方式は細部では異なっている。
1960 年代初頭、AT&T は長距離幹線にデジタル電話を導入しました。この技術では 8 ビットのμ-law エンコーディングが使用されました。この大規模な投資により、8 ビット データの伝送コストが削減されると期待されました。
ドナルド・クヌースは、1968年に初版が発行された『The Art of Computer Programming 』第1巻で、仮想のMIXコンピュータにおけるバイトを「不特定の量の情報を含み、少なくとも64の異なる値、最大で100の異なる値を保持できる単位」として使用している。[24]彼は、「1975年頃から、バイトという言葉は正確に8つの2進数字のシーケンスを意味するようになった。MIXに関連してバイトについて話すときは、バイトがまだ標準化されていなかった時代を思い起こさせ、以前の意味に限定する」と述べている。[24]
1970 年代の8 ビット マイクロプロセッサの開発により、このストレージ サイズが普及しました。8086の直接の前身であるIntel 8080などのマイクロプロセッサは、1 バイト内の4 ビットペアに対して、小数点以下 1 桁加算調整 (DAA) 命令などの少数の操作を実行することもできました。4 ビットの量は、ニブル(またはニブル)と呼ばれることが多く、1 つの16 進数字で便宜的に表されます。
オクテットという用語は、8ビットのサイズを明確に指定します。[18] [12]これはプロトコル定義で広く使用されています。
歴史的には、オクタッドまたはオクタードという用語は、少なくとも西ヨーロッパでは8ビットを表すために使用されていました。 [25] [26]しかし、この用法はもはや一般的ではありません。この用語の正確な起源は不明ですが、1960年代と1970年代のイギリス、オランダ、ドイツの資料や、フィリップスのメインフレームコンピューターのドキュメント全体に見られます。
単位記号
バイトの単位記号は、IEC 80000-13、IEEE 1541、およびメトリック交換形式[10]で大文字のBとして 指定されています。
国際単位系(ISQ)では、B はベル(アレクサンダー・グラハム・ベルにちなんで名付けられた対数電力比の単位) の記号でもあるため、IEC 仕様と矛盾が生じます。ただし、ベルはほとんど使用されない単位であるため、混乱の危険性はほとんどありません。ベルは主に 10 進小数であるデシベル(dB)で信号強度と音圧レベルの測定に使用され、10 分の 1 バイトの単位であるデシバイトやその他の小数は、伝送速度などの派生単位でのみ使用されます。
オクテットを表す小文字のoは、IEC 80000-13でオクテットの記号として定義されており、フランス語[27]やルーマニア語などの言語で一般的に使用されています。また、koやMoのように倍数を表すメトリック接頭辞と組み合わせられることもあります。
複数バイト単位
バイトに基づいて単位の倍数を定義するシステムは複数存在します。一部のシステムは10 の累乗に基づいており、国際単位系(SI) では、たとえば接頭辞キロを 1000 (10 3 ) と定義しています。他のシステムは2 の累乗に基づいています。これらのシステムの命名法は混乱を招いています。10 の累乗に基づくシステムは、標準のSI 接頭辞(キロ、メガ、ギガ、...) とそれに対応する記号 (k、M、G、...) を使用します。ただし、2 の累乗に基づくシステムは、2 進接頭辞 (キビ、メビ、ギビ、...) とそれに対応する記号 (Ki、Mi、Gi、...) を使用することがあります。または、接頭辞 K、M、および G を使用することがあり、接頭辞 M または G が使用されている場合にあいまいさが生じます。
キロバイトの場合、10 進数と 2 進数の解釈の違いは比較的小さい (キビバイトより約 2% 小さい) ですが、単位が大きくなるにつれて、システムの偏差は大きくなります (相対偏差は 3 桁ごとに 2.4% 大きくなります)。たとえば、10 の累乗に基づくテラバイトは、2 の累乗に基づくテビバイトより約 9% 小さくなります。
10の累乗に基づく単位
10の累乗を用いた接頭辞の定義(1キロバイト(記号kB)は1,000バイトと定義)は、国際電気標準会議(IEC)によって推奨されている。[28] IEC規格では、1ヨタバイト(YB)(1000 8バイト)までの8つの倍数が定義されている。 [29]追加の接頭辞ronna-(1000 9)とquetta-(1000 10)は、2022年に国際度量衡局(BIPM)によって採用された。 [30] [31]
この定義は、コンピュータネットワークのデータレート単位、内部バス、ハードドライブとフラッシュメディアの転送速度、およびほとんどのストレージメディア、特にハードドライブ[32] 、フラッシュベースのストレージ[33]、DVDの容量に最も一般的に使用されています。[要出典]この定義を使用するオペレーティングシステムには、 macOS、[34] iOS、[34] Ubuntu、[35]およびDebianなどがあります。[36]これは、 CPUクロック速度やパフォーマンスの測定など、コンピューティングにおけるSI接頭辞の他の用法とも一致しています。
2の累乗に基づく単位
1キビバイト(KiB)が1,024(すなわち2 10)バイトに等しい2の累乗に基づく単位系は、国際標準IEC 80000-13で定義され、国内および国際標準化団体( BIPM、IEC、NIST )によってサポートされている。IEC標準では、1ヨビバイト(YiB)(1024 8バイトに等しい)までの8つの倍数が定義されている。ronna-とquetta-の自然な2進数対応は、国際度量衡委員会単位諮問委員会(CCU)の諮問文書でrobi-(Ri、1024 9)とquebi-(Qi、1024 10)として示されていたが、IECとISOではまだ採用されていない。[37]
1990年代のJEDEC規格では、同じ単位の別の命名システム(ここでは慣例規則と呼ぶ)として、1キロバイト(KB)が1,024バイトに等しく、[38] [39] [40] 1メガバイト(MB)が1024 2バイトに等しく、1ギガバイト(GB)が1024 3バイトに等しいとされている。JEDEC規格では最初の3つの倍数(GBまで)のみが記載されており、TB以上については言及されていない。紛らわしく不正確ではあるが、[41]この慣例規則は、Microsoft Windowsオペレーティングシステム[42] [より適切な情報源が必要]やメインメモリやCPUキャッシュサイズなどのランダムアクセスメモリ容量、およびVodafone、[43] 、AT&T、[44] Orange [45]、Telstraなどの通信会社のマーケティングや課金に使用されている。[46]
ストレージ容量については、Mac OS X 10.6 Snow LeopardおよびiOS 10まではmacOSとiOSで慣例的な表記法が使用されていましたが、それ以降は10の累乗に基づく単位に切り替わりました。[34]
教区単位
さまざまなコンピュータ ベンダーがさまざまなサイズのデータを表す用語を作り出しており、単一ベンダー内でも同じ用語でサイズが異なる場合もあります。これらの用語には、ダブル ワード、ハーフ ワード、ロング ワード、クアッド ワード、スラブ、スーパーワード、シラブルなどがあります。非公式の用語もあります。たとえば、4 ビットはハーフ バイトやニブル、1000 8はオクタル Kです。
矛盾する定義の歴史

現代のコンピュータメモリはバイナリアーキテクチャを採用しており、2の累乗に基づいてメモリ単位を定義するのが最も実用的である。2の倍数を表すのにメートル法の接頭辞キロを使用するのは、1,024が約1,000であるため、便宜上である。[27]この定義はパーソナルコンピューティングの初期の数十年間に人気があり、Tandon 5 1⁄4インチDDフロッピーフォーマット(368,640バイトを保持)などの製品は、1,024バイトの慣例に従って「360KB」と宣伝されていた。ただし、これは普遍的ではなかった。Shugart SA -400 5 1⁄4インチフロッピーディスクは、フォーマットされていない状態で109,375バイトを保持し、[47] 1000の慣例に従って「110Kバイト」と宣伝されていた。[48]同様に、8インチDEC RX01フロッピー(1975年)は256,256バイトのフォーマットを保持し、「256k」として宣伝されていました。[49]一部のデバイスは2つの定義を組み合わせて宣伝されていました。最も顕著なのは、「1.44 MB」として宣伝されているフロッピーディスクの実際の容量は1,440 KiBで、1.47 MBまたは1.41 MiBに相当します。
1995年、国際純正応用化学連合(IUPAC)の命名法および記号に関する部会委員会は、1024の累乗を表す2進数の接頭辞として、キビ(キロバイナリー)、メビ(メガバイナリー)、ギビ(ギガバイナリー)を提案し、この曖昧さを解決しようとした。[50] [51]
1998年12月、IECは、1024の累乗を明確に示すためにIUPACが提案した接頭辞(kibi、mebi、gibiなど)を採用することで、このような複数の用法と定義に対処しました。[52]したがって、1キビバイト(1KiB)は1024 1 バイト= 1024バイト、1メビバイト(1MiB)は1024 2 バイト=1,048,576バイトなど。
1999年、ドナルド・クヌースはキビバイトを「ラージ・キロバイト」(KKB)と呼ぶことを提案した。[53]
現代の標準的な定義
IECはIUPACの提案を採用し、1999年1月に標準規格を公表した。[54] [55] IECの接頭辞は国際単位系の一部である。IECはさらに、キロバイトは1,000バイトを指す場合にのみ使用するように規定した。[要出典]
定義をめぐる訴訟
バイトの倍数に関する2進法と10進法の定義をめぐる消費者の混乱が原因で起きた訴訟は、一般的に製造業者に有利な判決が下され、裁判所は、ギガバイトまたはGBの法的定義は、 2進法の定義(2 30 、つまり1,073,741,824)ではなく、1 GB = 1,000,000,000(10 9)バイト(10進法の定義)であるとの判決を下した。具体的には、北カリフォルニア地区連邦地方裁判所は、「米国議会は、ギガバイトの10進法の定義を『米国の貿易と商業』の目的のために『好ましい』ものとみなした[...]カリフォルニア州議会も同様に、この州におけるすべての『取引』に10進法を採用した」と判決を下した。 [56]
ドライブメーカーのウエスタンデジタルに対する訴訟など、以前の訴訟は、裁判所の判決が出ないまま和解に終わった。[57] [58]ウエスタンデジタルは異議を唱え、製品に使用可能な容量が宣伝されている容量と異なる場合があることを明示的に記載した免責事項を追加した。 [57]シーゲイトも同様の理由で訴えられ、和解した。[57] [59]
実例
一般的な用途
多くのプログラミング言語では、データ型 byteが定義されています。
CおよびC++プログラミング言語では、バイトを「実行環境の基本文字セットの任意のメンバーを保持できるほどの大きさの、アドレス指定可能なデータ ストレージ単位」と定義しています (C 標準の条項 3.6)。C 標準では、整数データ型unsigned charは少なくとも 256 の異なる値を保持し、少なくとも 8 ビットで表現される必要があります (条項 5.2.4.2.1)。C および C++ のさまざまな実装では、バイトのストレージ用に 8、9、16、32、または 36 ビットが予約されています。[66] [67] [g]さらに、C および C++ 標準では、2 つのバイトの間にギャップがないことが要求されます。つまり、メモリ内のすべてのビットがバイトの一部です。[68]
Java のプリミティブ データ型byteは 8 ビットとして定義されています。これは符号付きデータ型で、-128 から 127 までの値を保持します。
C#などの.NETプログラミング言語では、 byte を符号なし型として定義し、sbyte を符号付きデータ型として定義し、それぞれ 0 から 255 と-128 から 127 までの値を保持します。
データ伝送システムでは、バイトはシリアルデータストリーム内の連続したビットのシーケンスとして使用され、データの最小の識別単位を表します。非同期通信の場合、完全な伝送単位には通常、スタートビット、1つまたは2つのストップビット、および場合によってはパリティビットが追加で含まれ、したがって、実際のデータが5〜8ビットの場合、そのサイズは7〜12ビットになります。[69]同期通信の場合、エラーチェックには通常、フレームの末尾のバイトが使用されます。
参照
注記
- ^ シラブルという用語は、データ バイトではなく、命令または命令の構成要素を含むバイトに対して使用されました。
- ^ 多くの情報源では、バイトという用語の誕生は1956 年 7 月であると誤って示していますが、ヴェルナー・ブッフホルツは、この用語は 1956 年 6 月に作られたと主張しています。実際、これを裏付ける最も古い文書は 1956 年 6 月 11 日のものです。ブッフホルツは、8 ビット バイトへの移行は 1956 年 8 月に考案されたと述べていますが、この概念を使用した最も古い文書は 1956 年 9 月のものです。
- ^ 後期のマシン、例えばBurroughs B1700、CDC 3600、DEC PDP-6、DEC PDP-10には、ワードサイズ以下の任意のバイトを操作する機能がありました。
- ^ BCD コード ページが複数ありました。
- ^ 1970 年代を通じて、10 進アーキテクチャを備えたマシンが存在しました。
- ^ ビデオは27.8 Mbit/sのビットレートでエンコードされ、実行時間は1,403分[70](84,180秒)で、サイズは約0.2925 TB(0.2661 TiB)になります。
- ^ 特定の実装における実際のビット数は、
CHAR_BITファイルlimits.hに実装されたとおりに文書化されています。
参考文献
- ^ ABC さん
Blaauw, Gerrit Anne ; Brooks, Jr., Frederick Phillips ; Buchholz, Werner (1962)、「第 4 章: 自然データ単位」(PDF)、Buchholz, Werner (ed.)、『Planning a Computer System - Project Stretch』、McGraw-Hill Book Company, Inc. / The Maple Press Company、York、PA.、pp. 39–40、LCCN 61-10466、2017-04-03 にオリジナル(PDF)からアーカイブ、 2017-04-03に取得
ビット に加えて、マシン設計によって課せられた構造を説明するためにここで使用される用語を以下に挙げます。
バイトは、文字をエンコードするために使用されるビットのグループ、または入出力ユニットとの間で並行して送信されるビットの数を示します。ここで文字以外の用語が使用されるのは、特定の文字が異なるアプリケーションで複数のコードによって表される場合があり、異なるコードが異なるビット数 (つまり、異なるバイト サイズ) を使用する場合があるためです。入出力送信では、ビットのグループ化は完全に任意であり、実際の文字とは関係がありません。(この用語は、バイト から作られた造語ですが、誤ってビット に変わるのを避けるために綴りが変えられています。) ワードは、1つのメモリ
サイクルでメモリからまたはメモリに並行して送信されるデータ ビットの数で構成されます。したがって、ワード サイズはメモリの構造的プロパティとして定義されます。(カテナという用語は、この目的でBull GAMMA 60 コンピュータの設計者によって造られました。)ブロックは、単一の入出力命令に応答して入出力ユニットとの間で送信されるワードの数を指します。ブロック サイズは入出力ユニットの構造的な特性であり、設計によって固定されている場合もあれば、プログラムによって変更される場合もあります。
- ^ ベマー、ロバート・ウィリアム(1959)、「256文字の一般化カードコードの提案」、Communications of the ACM、2(9):19–23、doi:10.1145 / 368424.368435、S2CID 36115735
- ^ Postel, J. (1981 年 9 月). インターネット プロトコル DARPA インターネット プログラム プロトコル仕様. p. 43. doi : 10.17487/RFC0791 . RFC 791 . 2020 年8 月 28 日閲覧。
オクテット 8 ビットのバイト。
- ^ アブ
Buchholz, Werner (1956-06-11). 「7. シフト マトリックス」(PDF) .リンク システム. IBM . pp. 5–6.ストレッチメモ No. 39G. 2017-04-04 にオリジナル(PDF)からアーカイブ。2016-04-04に取得。
[…] 編集の観点から最も重要なのは、1 から 6 ビットの長さの任意の文字または数字を処理できることです。図 2 は、メモリから並列に送られる60 ビットのワードを文字、または「バイト」と呼んでいるものに変換して、加算器
にシリアルに送信する ために使用されるシフトマトリックスを示しています。60 ビットは、6 つの異なるレベルの磁気コアにダンプされます。したがって、位置 9 から 1 が出てくると、その下の 6 つのコアすべてに表示されます。任意の対角線をパルスすると、その線に沿って格納されている 6 ビットが加算器に送信されます。加算器は、すべてのビットを受け入れることも、一部のビットだけを受け入れることもできます。右から始まる 4 ビットの 10進数字 を操作する必要があると仮定します。0 対角線が最初にパルスされ、0 から 5 の 6 ビットが送信されます。加算器は、そのうち最初の 4 ビット (0 から 3) のみを受け入れます。ビット 4 と 5 は無視されます。次に、4 対角線にパルスが送られます。これにより、ビット 4 から 9 が送信され、そのうち最後の 2 つは再び無視されます。以下 同様に、6 ビットすべてを英数字処理に使用したり、1 ビットのみのバイトを論理分析用に処理したり、バイトを任意のビット数だけオフセットしたりすることも簡単です。これらはすべて、適切なシフト対角線を引くことで実行できます。同様のマトリックス配置を使用して、加算器の出力でシリアル操作からパラレル操作に変更します。[…] - ^ 3600 コンピュータシステム - リファレンスマニュアル(PDF) . K. セントポール、ミネソタ州、米国: Control Data Corporation (CDC)。1966-10-11 [1965]。60021300。2017-04-05にオリジナル(PDF)からアーカイブ。2017-04-05に取得。
バイト - コンピュータワードのパーティション
。
注意: 12 ビット、24 ビット、48 ビットのバイトについて説明します。 - ^ Rao, Thammavaram RN; Fujiwara, Eiji (1989). McCluskey, Edward J. (編). Error-Control Coding for Computer Systems. Prentice Hall Series in Computer Engineering (第 1 版). Englewood Cliffs, NJ, US: Prentice Hall . ISBN
0-13-283953-9LCCN 88-17892 。
注意: 「4 ビット バイト」のコード使用例。 - ^ ターフェル、ハンス・イェルク (1971)。Einführung in die digitale Datenverarbeitung [デジタル情報処理入門] (ドイツ語)。ミュンヘン:カール・ハンザー・フェルラーク。 p. 300.ISBN
3-446-10569-7。
Byte = zusammengehörige Folge von ia neun Bits;ダボン・シンド・アハト・ダテンビッツ、新しいプルビート
注意: バイトは通常 9 ビット (8 つのデータ ビットと 1 つのパリティ ビット) のグループとして定義されます。 - ^ ISO/IEC 2382-1: 1993、情報技術 - 語彙 - パート1: 基本用語。1993年。
バイト:
複数のビットで構成される文字列で、1 つの単位として扱われ、通常は文字または文字の一部を表します。
注:
1 バイトのビット数は、特定のデータ処理システムごとに固定されています。2
バイトのビット数は通常 8 です。 - ^ 「1960年代のインターネットの歴史 # 1964」。コンピュータ歴史博物館。2017年[2015年]。2022年6月24日時点のオリジナルよりアーカイブ。 2022年8月17日閲覧。
- ^ ab Jaffer, Aubrey (2011) [2008]. 「Metric-Interchange-Format」。2017年4月3日時点のオリジナルよりアーカイブ。2017年4月3日閲覧。
- ^ Kozierok, Charles M. (2005-09-20) [2001]. 「TCP/IP ガイド - バイナリ情報と表現: ビット、バイト、ニブル、オクテット、文字 - バイト対オクテット」. 3.0. 2017-04-03 にオリジナルからアーカイブ。2017-04-03に取得。
- ^ ab ISO 2382-4、データの構成(第 2 版)。
バイト、オクテット、8 ビット バイト: 8 ビットで構成される文字列。
- ^ ABCDE
ブッフホルツ、ヴェルナー(1977 年 2 月)。「「バイト」という言葉が成熟する...」Byte Magazine 2 ( 2): 144。
1950 年代半ばに IBM のプロジェクト ストレッチに携わっていた W Buchholz 氏から、次のような手紙を受け取りました。彼の手紙に経緯が書かれています。
私はあなたの雑誌を定期的に読んでいるわけではないのですが、1976 年 11 月号で「バイト」という用語の起源について質問があったことを、私がこの専門用語を使ったことを知っていた同僚から聞きました[1976 年 11 月号の BYTE の 77 ページ、「Olde Englishe」を参照]。ファイルを検索しましたが、出生証明書は見つかりませんでした。しかし、「バイト」は 1977 年に 21 歳の誕生日を迎え、成熟期を迎えていると確信しています。8
ビットを意味するバイトは、1960 年代半ばにこのようなバイトを広く普及させた IBM System/360 に由来すると多くの人が考えています。編集者が、この用語が以前のストレッチ コンピュータにまで遡る点を指摘したのは正しいのですが (ただし、ストレッチは IBM が開発した第 2 世代のトランジスタ コンピュータの最初であり、最後ではないという点は誤りです)。ファイル内で最初に見つかった言及は、 Stretch
の開発初期、1956 年 6 月に書かれた社内メモに含まれていました。バイトは、1 から 6 までの任意の数の並列ビットで構成されると説明されていました。したがって、バイトは状況に応じた長さを持つものと想定されていました。バイトが最初に使用されたのは、一度に 6 ビットを処理する 1950 年代の入出力機器のコンテキストでした。8 ビット バイトへの移行の可能性は 1956 年 8 月に検討され、その後すぐに Stretch の設計に組み込まれました。 この用語が初めて公表されたのは、1959 年の IRE Transactions on Electronic Computers 、1959 年 6 月、121 ページに発表された GA Blaauw、FP Brooks Jr、W Buchholz による論文「Processing Data in Bits and Pieces」です。この論文の概念は、 W Buchholz編集の Planning a Computer System (Project Stretch)、McGraw-Hill Book Company (1962) の第 4 章で詳しく説明されています。この用語を作った根拠は、40 ページで次のように説明されています。
バイトは、文字をエンコードするために使用されるビットのグループ、または入出力ユニット間で並行して送信されるビットの数を示します。ここで文字以外の用語が使用されるのは、特定の文字が異なるアプリケーションで複数のコードによって表される場合があり、異なるコードが異なるビット数 (つまり、異なるバイト サイズ) を使用する場合があるためです。入出力送信では、ビットのグループ化は完全に任意であり、実際の文字とは関係ありません。(この用語は biteから作られた造語ですが、誤って bit に変わるのを避けるために綴りがbit に変更されています。)
System/360 は、 2 の累乗である基本バイト サイズとワード サイズを含む、Stretch の概念の多くを引き継ぎました。ただし、経済性のために、バイト サイズは最大 8 ビットに固定され、ビット レベルのアドレス指定はバイト アドレス指定に置き換えられました。
それ以来、バイトという用語は一般に 8 ビットを意味するようになり、一般的な用語になりました。
コンピューター分野専用に造られた用語で、英語の一般的な辞書に載っているものは他に何かありますか? - ^ ab 「IBM Stretch/Harvest 時代のタイムライン (1956-1961)」。コンピュータ歴史博物館。1956 年 6 月。2016 年 4 月 29 日時点のオリジナルよりアーカイブ。2017年 4 月 3 日閲覧。
1956 年夏: Gerrit Blaauw、Fred Brooks、Werner Buchholz、John Cocke、Jim PomereneがStretchチームに参加。Lloyd Hunter がトランジスタのリーダーシップを担当。1956
年 7 月 [原文のまま]: Werner Buchholz はレポートで、Stretch の 64 ビット ワード長の利点を列挙。これはNSAの 8 ビット バイト要件もサポート。Werner の「バイト」という用語は、このメモで初めて普及。注意: このタイムラインでは、「バイト」という用語の誕生年を誤って1956 年 7 月と指定していますが、実際には Buchholz は1956 年 6 月にはすでにこの用語を使用していました。
- ^ Buchholz, Werner (1956-07-31). 「5. 入出力」(PDF) .メモリワード長. IBM . p. 2. Stretch Memo No. 40. 2017-04-04 のオリジナル(PDF)からアーカイブ。2016-04-04に取得。
[…] 60 は 1、2、3、4、5、6 の倍数です。したがって、1 から 6 ビットの長さのバイトは、1 つのワードと次のワードの間でバイトを分割することなく、60 ビット ワードに効率的にパックできます。さらに長いバイトが必要な場合は、もちろん 60 ビットは理想的ではなくなります。現在のアプリケーションでは、1、4、6 ビットが本当に重要なケースです。64
ビット ワードでは、入力と出力で 6 ビット バイトを処理するときに、ワードで 4 ビットを未使用のままにするなど、いくつかの妥協が必要になることがよくあります。ただし、LINK コンピューターには、これらのギャップを編集して、ワード間で分割されたバイトを処理できるように装備できます。 […] - ^ アブ
Buchholz, Werner (1956-09-19). 「2. 入出力バイト サイズ」(PDF) .メモリ ワード長とインデックス作成. IBM . p. 1. Stretch Memo No. 45. 2017-04-04 にオリジナル(PDF)からアーカイブ。2016-04-04に取得。
[…] シリアル操作の最大入出力バイト サイズは、エラー検出および訂正ビットを除いて 8 ビットになります。したがって、Exchange は 8 ビット バイト ベースで動作し、バイトあたり 8 ビット未満の入出力ユニットは残りのビットを空白のままにします。結果として生じるギャップは、後でプログラミングによって編集できます […]
- ^ Raymond, Eric Steven (2017) [2003]. 「バイト定義」。2017年4月3日時点のオリジナルよりアーカイブ。2017年4月3日閲覧。
- ^ abcd Bemer, Robert William (2000-08-08). 「なぜ 1 バイトは 8 ビットなのか? それともそうなのか?」. Computer History Vignettes . 2017-04-03 時点のオリジナルよりアーカイブ。2017-04-03閲覧。
私はIBMで働くようになり、64 文字の制限によって生じる混乱を目の当たりにしました。特に、大文字と小文字の両方を必要とするワード プロセッサについて考え始めたときは、混乱が顕著でした。
既存の 47 文字に小文字 26 文字を加えると 73 文字になり、6 ビットで表現できる文字数より 9 文字多いことになります。私は (私が知る限り、8 ビット バイトを搭載した最初のコンピュータであるSTRETCHを考慮して)パンチ カードの
文字コードを 256 文字まで拡張する 提案もしました[1]。真剣に受け止めた人もいましたが、私はパロディーだと思っていました。 そこで、7 ビット文字について考え始めた人もいましたが、これはばかげた話でした。IBM の STRETCH コンピュータを背景に、8 文字ずつに分割できる 64 文字の単語を処理する ( 8 ビット グループを表す「バイト」という用語を考案したWerner Buchholz博士の指導の下、その文字セットを設計しました)。 [2] 256 まで扱えるユニバーサルな 8 ビット文字セットを作るのが合理的に思えました。当時、私のマントラは「2 の累乗は魔法だ」でした。そこで、私が率いたグループは、そのような提案を開発し、正当化しました [3]。ASCIIを公式化する標準化グループに提示すると、それは少々進歩しすぎたため、当面は 7 ビット セット、または上位半分を将来の作業に残した 8 ビット セットで中止しました。IBM 360 は 、直接 ASCII ではないものの、8 ビット文字を使用しました。そのため、ブッフホルツの「バイト」はどこでも流行しました。私自身、多くの理由でその名前が好きではありませんでした。設計では、8 ビットが並列に動き回っていました。しかし、その後、CPU 内部とテープ ドライブの両方で、自己チェック用に 9 ビットを備えた新しい IBM 部品が登場しました。私はこの 9 ビット バイトを 1973 年にマスコミに公開しました。しかしそれよりずっと前、 1965 年から 1966 年にかけてフランスのCie. Bullでソフトウェア業務を指揮していたとき、私は「バイト」という用語を廃止し、「オクテット」という用語を使うよう主張しました。当時私が好んでいた用語が、今では推奨されている用語になっていることにお気づきでしょう。 これは、16、32、64、さらには 128 ビットを並列に伝送できる新しい通信方法によって正当化されます。しかし、一部の愚かな人々は、UNICODEセットで確認できるこの並列転送のために、今では「16 ビット バイト」と呼んでいます。よくわかりませんが、これは「ヘクステット」と呼ぶべきかもしれません。しかし、私が今でも正しいことにお気づきになるでしょう。2 の累乗は今でも魔法です!
- ^ Blaauw, Gerrit Anne、Brooks, Jr., Frederick Phillips、Buchholz, Werner (1959 年 6 月)。「ビットとピースでのデータ処理」IRE Transactions on Electronic Computers : 121。
- ^ Dooley, Louis G. (1995 年 2 月). 「Byte: The Word」. BYTE . オカラ、フロリダ州、米国。1996 年 12 月 20 日時点のオリジナルよりアーカイブ。
バイトという用語は、1956年から1957年頃にMITリンカーン研究所で、ランド研究所、リンカーン研究所、IBMが共同で開発したSAGE(North American Air Defense System)というプロジェクトの中で作られました。その時代には、コンピュータのメモリ構造は既にワードサイズで定義されていました。ワードはx個のビットで構成され、ビットはワード内の2進表記の位置を表します。操作は通常、フルワード内のすべてのビットに対して行われます。 バイトという用語は、フルワードサイズ未満の論理ビットセットを指すために作られました。当時は、xビットとして明確に定義されていませんでしたが、コード化されたデータ項目のほとんどがそのサイズだったため、通常は4ビットのセットと呼ばれていました。その後まもなく、私は他の責任を負い、SAGEから離れました。アジアで長年過ごした後、米国に戻り、バイトという言葉が新しいマイクロコンピュータ技術で基本的なアドレス指定可能なメモリユニットを指すために使用されていることを知って困惑しました。
- ^ ab ラム、ステファン (2003 年 1 月 17 日)。 「Erklärung des Wortes "Byte" im Rahmen der Lehre binärer Codes」(ドイツ語)。ベルリン、ドイツ:ベルリン自由大学。 2021年6月10日のオリジナルからアーカイブ。2017年4月10日に取得。
- ^ 「バイト」という用語の起源、1956年、2017年4月10日にオリジナルからアーカイブ、2022年8月17日に取得
プログラミング言語の歴史に関するACM カンファレンス の質疑応答セッションで、次のようなやりとりがありました。
[ John Goodenough : JOVIAL
では「バイト」という用語が使われているとおっしゃっていましたが、この用語はどこから来たのですか? ] [ Jules Schwartz (JOVIAL の発明者): 私の記憶では、AN/FSQ-31は709とはまったく異なるコンピュータで、バイト指向でした。はっきりとは覚えていませんが、そのコンピュータの説明に「バイト」という単語が含まれていて、私たちもそれを使用しました。 ] [ Fred Brooks : その点についてお話ししてもよろしいでしょうか? Werner BuchholzがSTRETCHの定義の一部としてこの単語を造語し、AN/FSQ-31 は STRETCH からこの単語を採用しましたが、この単語の作者は Werner であることは間違いありません。 ] [ Schwartz: その通りです。ありがとうございます。 ] - ^ 「IBMによるEBCDICコードのリスト」ibm.com 2020年1月2日。2020年7月3日時点のオリジナルよりアーカイブ。2020年7月3日閲覧。
- ^ ab クヌース、ドナルド(1997) [1968]。コンピュータプログラミングの芸術: 第 1 巻: 基本アルゴリズム(第 3 版)。ボストン: アディソンウェスレー。p. 125。ISBN 9780201896831。
- ^ ウィリアムズ、RH (1969)。英国商業コンピュータダイジェスト:ペルガモンコンピュータデータシリーズ。ペルガモンプレス。ISBN 1483122107。 ISBN 978-1483122106 [明確化が必要]
- ^ 「Philips Data Systems の製品範囲」(PDF)。Philips。1971年4月。2016年 3 月 4 日時点のオリジナル(PDF)からアーカイブ。2015年 8 月 3 日閲覧。
- ^ ab
[
|*| ビットとバイトについて: 2進数の倍数の接頭辞 - IEC
|*| v0: https://web.archive.org/web/20090818042050/http://www.iec.ch/online_news/etech/arch_2003/etech_0503/focus.htm
|*| v1: https://www.iec.ch/prefixes-binary-multiples Archived 2021-08-16 at the Wayback Machine ] - ^ 2進数の倍数を表す接頭辞は2007年8月8日にWayback Machineにアーカイブされています— 定数、単位、不確実性に関するNISTリファレンス
- ^ 松岡聡;佐藤 仁;建部 修;鯉渕道弘;藤原一輝;鈴木修司;角田正則;石田隆志;秋山 豊鈴村豊太郎。上野 耕司 (2014-09-15) 「エクストリーム ビッグ データ (EBD): 年間ヨタバイトに向けた次世代ビッグ データ インフラストラクチャ テクノロジ」。スーパーコンピューティングのフロンティアとイノベーション。1 (2): 89-107。土井:10.14529/jsfi140206。ISSN 2313-8734。 2022-03-13 のオリジナルからアーカイブされました。2022-05-27に取得。
- ^ 「第27回国際度量衡総会決議一覧」(PDF) 2022年11月18日。2022年11月18日時点のオリジナルよりアーカイブ(PDF)2022年11月18日閲覧。
- ^ Gibney, Elizabeth (2022年11月18日). 「1ケタバイトには何ヨタバイトある?極端な数字に新しい名前が付く」Nature . doi :10.1038/d41586-022-03747-9. ISSN 0028-0836. PMID 36400954. S2CID 253671538. 2023年1月16日時点のオリジナルよりアーカイブ。2022年11月21日閲覧。
- ^ 1977 ディスク/トレンドレポート リジッドディスクドライブ、1977 年 6 月発行
- ^ SanDisk USB フラッシュ ドライブ Archived 2008-05-13 at the Wayback Machine「注: 1 メガバイト (MB) = 100 万バイト、1 ギガバイト (GB) = 10 億バイト。」
- ^ abc 「iOS と macOS がストレージ容量を報告する方法」。Appleサポート。2018 年 2 月 27 日。2020 年 4 月 9 日時点のオリジナルよりアーカイブ。2022年1 月 9 日閲覧。
- ^ “UnitsPolicy”. Ubuntu Wiki . Ubuntu. 2021年11月18日時点のオリジナルよりアーカイブ。2022年1月9日閲覧。
- ^ “ConsistentUnitPrefixes”. Debian Wiki . 2021年12月3日時点のオリジナルよりアーカイブ。2022年1月9日閲覧。
- ^ ブラウン、リチャード JC (2022 年 4 月 27 日)。「「将来の新しい SI 記号用のラテン文字の不足に直面: 新しい SI 接頭辞の代替案」への返信」「認定と品質保証.27 ( 3):143–144.doi : 10.1007/s00769-022-01499-7.S2CID248397680 .
- ^ キロバイト – 無料の Merriam-Webster 辞書の定義と詳細 Archived 2010-04-09 at the Wayback Machine . Merriam-webster.com (2010-08-13). 2011-01-07 に取得。
- ^ キロバイト – Dictionary.com のキロバイトの定義。Wayback Machineで 2010-09-01 にアーカイブ。Dictionary.reference.com (1995-09-29)。2011-01-07 に取得。
- ^ Oxford Dictionaries Online のキロバイトの定義。Wayback Machineで 2006-06-25 にアーカイブ。Askoxford.com。2011-01-07 に取得。
- ^ 2進数と10進数の倍数を表す接頭辞: 2進数と10進数
- ^ 「実際のディスク サイズの決定: 1.44 MB が 1.40 MB である理由」。Microsoft サポート。2003 年 5 月 6 日。2014 年 2 月 9 日にオリジナルからアーカイブ。2014年 3 月 25 日に取得。
- ^ 「3G/GPRSデータレート」。Vodafone Ireland。2016年10月26日時点のオリジナルよりアーカイブ。2016年10月26日閲覧。
- ^ 「データ測定スケール」。AT&T。2016年10月26日閲覧。[永久リンク切れ]
- ^ 「インターネットモバイルアクセス」。Orange Romania。2016年10月26日時点のオリジナルよりアーカイブ。2016年10月26日閲覧。
- ^ 「当社の顧客規約」(PDF)。テルストラ。7ページ。2017年4月10日時点のオリジナルよりアーカイブ(PDF) 。 2016年10月26日閲覧。
- ^ 「SA400 miniflppy」. Swtpc.com. 2013-08-14. 2014-05-27時点のオリジナルよりアーカイブ。2014-03-25閲覧。
- ^ 「Shugart Associates SA 400 minifrostpy™ ディスクドライブ」(PDF)。2011 年 6 月 8 日のオリジナル(PDF)からアーカイブ。2011年 6 月 24 日に取得。
- ^ 「RXS/RX11 フロッピー ディスク システム メンテナンス マニュアル」(PDF) 。マサチューセッツ州メイナード: Digital Equipment Corporation。1975 年 5 月。2011 年 4月 23 日時点のオリジナル(PDF)からアーカイブ。2011年 6 月 24 日閲覧。
- ^ IUCr 1995 レポート - IUPAC 命名法および記号に関する部会委員会 (IDCNS) http://ww1.iucr.org/iucr-top/cexec/rep95/idcns.htm 2020 年 12 月 19 日にWayback Machineにアーカイブ
- ^ 「バイナリ プレフィックス」オークランド大学コンピューターサイエンス学部 https://wiki.cs.auckland.ac.nz/stageonewiki/index.php/Binary_prefix 2020 年 10 月 16 日にWayback Machineにアーカイブ
- ^ National Institute of Standards and Technology . 「Prefixes for binary multiples」。2007-08-08 にオリジナルからアーカイブ。「1998 年 12 月、国際電気標準会議(IEC) は、データ処理およびデータ伝送の分野で使用される 2 進数の接頭辞の名前と記号を IEC 国際規格として承認しました。」
- ^ 「キロバイトとは何か?」。2011年6月6日時点のオリジナルよりアーカイブ。2010年5月20日閲覧。
- ^ NIST「2進数の接頭辞」https://physics.nist.gov/cuu/Units/binary.html 2018年1月14日アーカイブ、Wayback Machine
- ^ IEC国際規格IEC 60027-2の修正2:電気技術で使用される文字記号 - パート2:電気通信および電子機器。
- ^ 「却下申立てを許可する命令」(PDF)。米国カリフォルニア州北部地区地方裁判所。 2021年10月7日時点のオリジナルよりアーカイブ(PDF) 。 2020年1月24日閲覧。
- ^ abc Mook, Nate (2006-06-28). 「Western Digital が Capacity Suit を解決」. betanews. 2009-09-07 時点のオリジナルよりアーカイブ。2009-03-30閲覧。
- ^ Baskin, Scott D. (2006-02-01). 「被告 Western Digital Corporation の原告の予備承認申立てを支持する要約」Orin Safier v. Western Digital Corporation。Western Digital Corporation。 2009-01-02 にオリジナルからアーカイブ。 2009-03-30に取得。
- ^ Judge, Peter (2007-10-26). 「Seagate がギガバイト定義を超える利益を獲得」ZDNet。2014-09-03 のオリジナルからアーカイブ。2014-09-16に取得。
- ^ アリソン・デクスター、「ハリー・ポッターには単語がいくつあるか?」[1] 2021年1月25日にWayback Machineでアーカイブ; 190,637語を表示
- ^ “キロバイト メガバイト ギガバイト テラバイト (スタンフォード大学)”。2020年11月8日時点のオリジナルよりアーカイブ。2020年12月12日閲覧。
- ^ Perenson, Melissa J. (2007年1月4日). 「日立が1テラバイトハードドライブを発表」www.pcworld.com。2012年10月24日時点のオリジナルよりアーカイブ。 2020年12月5日閲覧。
- ^ 「ペタバイトとはどのようなものか?」。2018年1月28日時点のオリジナルよりアーカイブ。2018年2月19日閲覧。
- ^ Gross, Grant (2007 年 11 月 24 日). 「調査によると、インターネットは 2 年以内に限界に達する可能性がある」. PC World . 2007 年 11 月 26 日時点のオリジナルよりアーカイブ。2007 年11 月 28 日閲覧。
- ^ 「ゼタバイト時代が正式に始まる(それはいくらですか?)」Cisco Blogs 2016-09-09。2021-08-02時点のオリジナルよりアーカイブ。2021-08-04に取得。
- ^ Cline, Marshall. 「9 ビット バイトのマシンは想像できる。しかし、16 ビット バイトや 32 ビット バイトはあり得ない、そうだろう?」。2019 年 3 月 21 日時点のオリジナルよりアーカイブ。2015年 6 月 18 日閲覧。
- ^ Klein, Jack (2008)、C および C++ の整数型、2010 年 3 月 27 日にオリジナルからアーカイブ、2015 年 6 月 18 日に取得
- ^ Cline, Marshall. 「C++ FAQ: バイト、文字、および文字に関するルール」。2019年3月21日時点のオリジナルよりアーカイブ。2015年6月18日閲覧。
- ^ 「外部インターフェース/API」。ノースウェスタン大学。2018年8月9日時点のオリジナルよりアーカイブ。2016年9月2日閲覧。
- ^ “アバター 伝説の少年アン コンプリートシリーズ Blu-ray”. Blu-ray.com . 2020年4月28日時点のオリジナルよりアーカイブ。 2021年2月24日閲覧。
さらに読む
- 「2.5 バイト操作」(PDF)。PDP-10 命令セットを使用したプログラミング(PDF)。PDP-10 システム リファレンス マニュアル。第 1 巻。Digital Equipment Corporation (DEC)。1969 年 8 月。2-15 ~ 2-17 ページ。2017年 4 月 5 日にオリジナルからアーカイブ(PDF) 。2017年 4 月 5 日に取得。
- アシュリー・テイラー。「ビットとバイト」スタンフォード。https://web.stanford.edu/class/cs101/bits-bytes.html
