| コンピュータアーキテクチャのビット幅 |
|---|
| 少し |
| 応用 |
| 2進浮動小数点精度 |
| 10進浮動小数点精度 |
コンピューティングにおいて、ワードとは、プロセッサの命令セットまたはハードウェアによって、自然または履歴的なデータ単位として扱われる固定サイズのデータです。ワード内のビット数または桁数(ワードサイズ、ワード幅、またはワード長)は、特定のプロセッサ設計またはコンピュータアーキテクチャの重要な特性です。
ワードサイズは、コンピュータの構造と動作の多くの側面に反映されます。プロセッサ内のレジスタの大部分は通常ワードサイズであり、ワーキングメモリとの間で1回の操作で転送できる最大のデータは、多くのアーキテクチャ(すべてではない)においてワードです。メモリ内の位置を指定するために使用される最大のアドレスサイズは、通常、ハードウェアワードです(ここでの「ハードウェアワード」とは、プロセッサのフルサイズの自然ワードを意味し、他の定義とは異なります)。
初期のコンピュータのいくつか (および現代のコンピュータのいくつか) は、単純な2進数ではなく2 進化 10進数を使用しており、通常、ワード サイズは 10 または 12桁で、初期の10進コンピュータの中には固定ワード長がないものもあります。初期の 2 進システムでは、6 ビットの倍数のワード長を使用する傾向があり、36 ビット ワードはメインフレーム コンピュータで特に一般的でした。ASCIIの導入により、ワード長が 8 ビットの倍数のシステムに移行し、1970 年代には 16 ビット マシンが普及し、その後、32 ビットまたは 64 ビットの現代のプロセッサに移行しました。[ 1 ]デジタル信号プロセッサなどの特殊用途の設計では、4 ビットから 80 ビットまでの任意のワード長を使用できます。[ 1 ]
以前のコンピュータとの後方互換性のため、ワードサイズは想定と異なる場合があります。複数の互換性のあるプロセッサやプロセッサファミリが共通のアーキテクチャと命令セットを共有しながらもワードサイズが異なる場合、その違いに対応するためにドキュメントやソフトウェアの表記が複雑になることがあります(後述のサイズファミリを参照)。
コンピュータの構成に応じて、ワードサイズの単位は次のような目的で使用されることがあります。
コンピュータアーキテクチャを設計する際には、ワードサイズの選択が非常に重要です。特定の用途(例えばアドレス)に対して特定のビットグループサイズが推奨される設計上の考慮事項があり、これらの考慮事項は用途に応じて異なるサイズを示唆しています。しかしながら、設計の経済性を考慮すると、単一のサイズ、あるいは基本サイズの倍数または分数(約数)で関連付けられたごく少数のサイズが強く推奨されます。この推奨サイズが、アーキテクチャのワードサイズとなります。
文字サイズは、過去(可変長文字エンコーディング以前)において、アドレス解決の単位とワードサイズの選択に影響を与える要因の一つでした。1960年代半ば以前は、文字はほとんどの場合6ビットで格納されていました。この方法では64文字までしか格納できなかったため、アルファベットは大文字のみでした。ワードサイズを文字サイズの倍数にすると時間と空間の効率が向上するため、この時期のワードサイズは通常6ビットの倍数でした(バイナリマシンの場合)。当時、一般的に選択されたのは36ビットワードで、これは浮動小数点形式の数値特性にも適したサイズでした。
8ビット文字を使用し、小文字をサポートするIBM System/360設計の導入後、文字(より正確にはバイト)の標準サイズは8ビットになりました。その後、ワードサイズは当然8ビットの倍数となり、16ビット、32ビット、64ビットが一般的に使用されるようになりました。
初期のマシン設計には、いわゆる可変長ワード長を使用するものがありました。このタイプの構成では、オペランドの長さは固定ではありません。マシンと命令に応じて、長さはカウント フィールド、区切り文字、またはフラグ、ワード マークなどと呼ばれる追加ビットで示されます。このようなマシンでは、数値に 4 ビットの数字または 6 ビットの文字の2 進化 10 進数を使用することがよくあります。このクラスのマシンには、 IBM 702、IBM 705、IBM 7080、IBM 7010、IBM 1400 シリーズ、IBM 1620、RCA 301、RCA 3301、およびUNIVAC 1050が含まれます。
これらのマシンのほとんどは、一度に1ユニットのメモリを処理します。各命令またはデータは複数ユニットの長さを持つため、各命令はメモリへのアクセスだけで数サイクルを要します。そのため、これらのマシンはしばしば非常に低速になります。例えば、IBM 1620 Model Iの命令フェッチでは、命令の12桁を読み取るだけで8サイクル(160μs)かかります(Model II ではこれが6サイクルに短縮され、命令が両方のアドレスフィールドを必要としない場合は4サイクルになります)。命令の実行には、オペランドのサイズに応じて可変のサイクル数がかかります。
アーキテクチャのメモリモデルは、ワードサイズに大きく影響されます。特に、メモリアドレスの解像度、つまりアドレスで指定できる最小単位は、ワードに設定されることがよくあります。このアプローチ、つまりワードアドレス指定可能なマシンアプローチでは、1だけ異なるアドレス値は隣接するメモリワードを指定します。これは、ほぼ常にワード(または複数ワード)単位で処理するマシンでは自然な動作であり、命令がアドレスを格納するために最小限のサイズのフィールドを使用できるという利点があります。これにより、命令サイズを小さくしたり、命令の種類を増やしたりすることができます。
バイト処理がワークロードの大きな部分を占める場合、アドレス解決の単位としてワードではなくバイトを使用する方が通常は有利です。1だけ異なるアドレス値は、メモリ内の隣接するバイトを示します。これにより、文字列内の任意の文字を直接アドレス指定できます。ワードのアドレス指定も可能ですが、使用するアドレスには、ワード解決の代替手段よりも数ビット多く必要です。この構成では、ワードサイズは文字サイズの整数倍である必要があります。このアドレス指定方法はIBM 360で採用され、それ以降に設計されたマシンでは最も一般的な方法となっています。
ワークロードが異なるサイズのフィールドを処理する場合、ビットアドレス指定が有利になることがあります。ビットアドレス指定に対応したマシンには、プログラマが定義したバイトサイズを使用する命令と、固定データサイズで演算を行う命令がある場合があります。例えば、IBM 7030 [ 4 ](「Stretch」)では、浮動小数点命令はワードアドレス指定しかできませんが、整数演算命令はフィールド長を1~64ビット、バイトサイズを1~8ビット、アキュムレータオフセットを0~127ビットの範囲で指定できます。
ストレージ間(SS)命令を備えたバイトアドレス指定可能なマシンでは、通常、1つまたは複数のバイトを任意の位置から別の位置へコピーする移動命令が存在します。SS命令を持たないバイト指向(バイトアドレス指定可能)マシンでは、1バイトを任意の位置から別の位置へ移動させる処理は通常、以下のようになります。
ワード指向マシンでは、個々のバイトにアクセスする方法は2通りあります。バイトは、レジスタにおけるシフト操作とマスク操作の組み合わせによって操作できます。1バイトを任意の位置から別の位置に移動するには、次のような処理が必要になる場合があります。
一方、多くのワード指向マシンでは、レジスタまたはメモリ内の特殊なバイトポインタを用いた命令によってバイト操作を実装しています。例えば、PDP-10のバイトポインタには、バイトのサイズ(ビット単位)(異なるサイズのバイトへのアクセスを可能にする)、ワード内のバイトのビット位置、そしてデータのワードアドレスが含まれていました。命令は、例えばロードやデポジット(ストア)操作の際に、ポインタを次のバイトに自動的に調整することができました。
異なる精度のデータ値を格納するために、異なる容量のメモリが使用されます。一般的に使用されるメモリサイズは、通常、アドレス解決単位(バイトまたはワード)の2の累乗倍です。配列内の項目のインデックスをその項目のメモリアドレスオフセットに変換するには、乗算ではなくシフト演算のみが必要です。場合によっては、この関係により除算の使用を回避できることもあります。その結果、現代のコンピュータ設計のほとんどでは、ワードサイズ(およびその他のオペランドサイズ)はバイトサイズの2の累乗倍になっています。
固定ワードサイズの旧式コンピュータのドキュメントでは、メモリサイズはバイトや文字ではなくワードで表記されるのが一般的です。ドキュメントでは、メトリック接頭辞が正しく使用されている場合もあれば、例えば65キロワード(kW)は65536ワードを意味するなど、丸められている場合もありますが、キロワード(kW)は1024ワード(2の10乗)を意味し、メガワード(MW)は1,048,576ワード(2の20乗)を意味するなど、誤って使用されている場合もあります。8ビットバイトとバイトアドレス指定の標準化に伴い、メモリサイズを1000の累乗ではなく1024の累乗でバイト、キロバイト、メガバイトで表記することが標準となっていますが、IECバイナリ接頭辞が使用される場合もあります。
コンピュータ設計が複雑化するにつれ、アーキテクチャにおける単一のワードサイズの重要性は低下しています。高性能なハードウェアはより多様なサイズのデータを扱えるようになりますが、市場の力は、プロセッサの能力を拡張しながらも下位互換性を維持するよう圧力をかけています。その結果、新規設計において中心となるワードサイズであったものが、下位互換性のある設計においては、元のワードサイズの代替サイズとして共存することになります。元のワードサイズは将来の設計でも利用可能であり、サイズファミリの基礎となります。
1970年代半ば、DECは16ビットのPDP-11の後継として32ビットのVAXを設計しました。16ビットの量を「ワード」 、32ビットの量を「ロングワード」と呼びました。この用語はPDP-11で使用されていた用語と同じです。これは、メモリのアドレス指定の自然単位を「ワード」、ワードの半分の量を「ハーフワード」と呼んでいた初期のマシンとは対照的です。この方式に合わせて、VAXのクワッドワードは64ビットです。この16ビットワード/32ビットロングワード/64ビットクワッドワードという用語が、64ビットのAlphaでも引き継がれました。
もう 1 つの例はx86ファミリです。このファミリでは、3 つの異なるワード長 (16 ビット、後に 32 ビットと 64 ビット) のプロセッサがリリースされていますが、word は依然として 16 ビットの量を示します。ソフトウェアは定期的に1 つのワード長から次のワード長に移植されるため、一部のAPIやドキュメントでは、ソフトウェアがコンパイルされる可能性のある CPU の完全なワード長よりも古い (したがって短い) ワード長が定義または参照されています。また、多くのプログラムで小さな数値にバイトが使用されるのと同様に、より広いワードの範囲が必要ない場合 (特に、これによりスタック領域やキャッシュ メモリ領域を大幅に節約できる場合) には、より短いワード (16 ビットまたは 32 ビット) が使用されることがあります。たとえば、Microsoft のWindows API は、標準のワード サイズがそれぞれ32 ビットまたは 64 ビットである 32 ビットまたは 64 ビットの x86 プロセッサで使用できるにもかかわらず、 WORDのプログラミング言語定義を 16 ビットのままにしています。このような異なるサイズのワードを含むデータ構造は次のように呼ばれます。
同様の現象がIntel のx86アセンブリ言語でも発生しています。命令セットでさまざまなサイズ (および下位互換性) がサポートされているため、一部の命令ニーモニックには、アーキテクチャの元の 16 ビット ワード サイズに基づく「double-」、「quad-」、または「double-quad-」を示す「d」または「q」識別子が付いています。
異なるワードサイズの例として、IBM System/360ファミリーが挙げられます。System /360アーキテクチャ、System/370アーキテクチャ、System/390アーキテクチャでは、8ビットのバイト、16ビットのハーフワード、32ビットのワード、64ビットのダブルワードが存在します。このアーキテクチャファミリーの64ビットメンバーであるz/Architectureでは、引き続き16ビットのハーフワード、32ビットのワード、64ビットのダブルワードが使用され、さらに128ビットのクワッドワードもサポートされています。
一般に、新しいプロセッサは、古いプロセッサとのバイナリ互換性を保つために、古いプロセッサと同じデータ ワード長と仮想アドレス幅を使用する必要があります。
多くの場合、ソース コードの互換性とソフトウェアの移植性を考慮して慎重に作成されたソース コードは、データ ワード長やアドレス幅が異なるプロセッサ (またはその両方) 上で実行できるように再コンパイルできます。
| キー: bit:ビット、c : 文字、d: 10進数、w : アーキテクチャのワードサイズ、n : 可変サイズ、wm:ワードマーク[ 5 ] [ 6 ] | |||||||
|---|---|---|---|---|---|---|---|
| 年 | コンピュータアーキテクチャ | 単語サイズw | 整数サイズ | 浮動小数点サイズ | 命令サイズ | アドレス解決の単位 | 文字サイズ |
| 1837 | バベッジ解析エンジン | 50 日 | わ | — | 異なる機能には 5 枚の異なるカードが使用されましたが、カードの正確なサイズは不明です。 | わ | — |
| 1941 | ツーゼZ3 | 22 ビット | — | わ | 8ビット | わ | — |
| 1942 | ABC | 50ビット | わ | — | — | — | — |
| 1944 | ハーバード・マークI | 23日 | わ | — | 24ビット | — | — |
| 1946年(1948年){1953年} | ENIAC (パネル #16 [ 7 ]付き) {パネル #26 [ 8 ]付き} | 10日 | w、 2 w (w) {w} | — | — (2日、4日、6日、8 d ) {2日、4日、6日、8日} | — — {w} | — |
| 1948 | マンチェスターベイビー | 32ビット | わ | — | わ | わ | — |
| 1951 | ユニバックI | 12日 | わ | — | 1 ⁄ 2 w | わ | 1日 |
| 1952 | IASマシン | 40ビット | わ | — | 1 ⁄ 2 w | わ | 5ビット |
| 1952 | 高速ユニバーサルデジタルコンピュータM-2 | 34ビット | え? | わ | 34ビット= 4ビットのオペコードと3×10ビットのアドレス | 10ビット | — |
| 1952 | IBM 701 | 36ビット | 1 ⁄ 2 w、 w | — | 1 ⁄ 2 w | 1 ⁄ 2 w、 w | 6ビット |
| 1952 | ユニバック60 | n d | 1日、...10日 | — | — | — | 2日、3日間 |
| 1952 | アラ I | 30ビット | わ | — | わ | わ | 5ビット |
| 1953 | IBM 702 | n c | 0 ℃、... 511 ℃ | — | 5c | c | 6ビット |
| 1953 | ユニバック 120 | n d | 1日、...10日 | — | — | — | 2日、3日間 |
| 1953 | アラII | 30ビット | わ | 2週間 | 1 ⁄ 2 w | わ | 5ビット |
| 1954年(1955年) | IBM 650 ( IBM 653搭載) | 10日 | わ | — (わ) | わ | わ | 2日 |
| 1954 | IBM 704 / IBM 709 / IBM 7090 | 36ビット | わ | わ | わ | わ | 6ビット |
| 1954 | IBM 705 | n c | 0℃、...255℃ | — | 5c | c | 6ビット |
| 1954 | IBM NORC | 16日 | わ | w、 2 w | わ | わ | — |
| 1956 | IBM 305 | n d | 1日、...100日 | — | 10日 | d | 1日 |
| 1956 | アルマック | 34ビット | わ | わ | 1 ⁄ 2 w | わ | 5ビット、6ビット |
| 1956 | LGP-30 | 31ビット | わ | — | 16ビット | わ | 6ビット |
| 1958 | ユニバックII | 12日 | わ | — | 1 ⁄ 2 w | わ | 1日 |
| 1958 | セージ | 32ビット | 1 ⁄ 2 w | — | わ | わ | 6ビット |
| 1958 | オートネティクス リコンプ II | 40ビット | w、79ビット、8日、15日 | 2週間 | 1 ⁄ 2 w | 1 ⁄ 2 w、 w | 5ビット |
| 1958 | ゼブラ | 33ビット | w、65ビット | 2週間 | わ | わ | 5ビット |
| 1958 | セトゥン | 6 トリット(〜9.5ビット) [ c ] | まで6 トリト | まで3トリテス | 4 トリット? | ||
| 1958 | エレクトロロジカ X1 | 27ビット | わ | 2週間 | わ | わ | 5ビット、6ビット |
| 1959 | IBM 1401 | n c | 1 カップ、... | — | 1c、2c、4c、5c、7c、8c | c | 6ビット+ wm |
| 1959年(未定) | IBM 1620 | n d | 2 d、... | — (4日、...102 d ) | 12日 | d | 2日 |
| 1960 | LARC | 12日 | w、 2 w | w、 2 w | わ | わ | 2日 |
| 1960 | CDC 1604 | 48ビット | わ | わ | 1 ⁄ 2 w | わ | 6ビット |
| 1960 | IBM 1410 | n c | 1 カップ、... | — | 1 セント、2 セント、6 セント、7 セント、11 セント、12 セント | c | 6ビット+ wm |
| 1960 | IBM 7070 | 10日[日] | w、1-9日 | わ | わ | w、 d | 2日 |
| 1960 | PDP-1 | 18ビット | わ | — | わ | わ | 6ビット |
| 1960 | エリオット 803 | 39ビット | |||||
| 1961 | IBM 7030(ストレッチ) | 64ビット | 1 ビット、...64ビット、1日、...16日 | わ | 1 ⁄ 2 w、 w | bit(整数)、1 ⁄ 2 w(分岐)、w(浮動小数点数) | 1 ビット、...8ビット |
| 1961 | IBM 7080 | n c | 0℃、...255℃ | — | 5c | c | 6ビット |
| 1962 | GE-6xx | 36ビット | w、 2 w | w、 2 w、80ビット | わ | わ | 6ビット、9ビット |
| 1962 | ユニバックIII | 25ビット | w、 2 w、 3 w、 4 w、6日、12日 | — | わ | わ | 6ビット |
| 1962 | オートネティクスD-17Bミニットマン I誘導コンピュータ | 27ビット | 11ビット、24ビット | — | 24ビット | わ | — |
| 1962 | ユニバック 1107 | 36ビット | 1 ⁄ 6 w、 1 ⁄ 3 w、 1 ⁄ 2 w、 w | わ | わ | わ | 6ビット |
| 1962 | IBM 7010 | n c | 1 カップ、... | — | 1 セント、2 セント、6 セント、7 セント、11 セント、12 セント | c | 6 b + wm |
| 1962 | IBM 7094 / IBM 7040 / IBM 7044 | 36ビット | わ | w、 2 w | わ | わ | 6ビット |
| 1962 | SDS 9シリーズ | 24ビット | わ | 2週間 | わ | わ | |
| 1963年(1966年) | アポロ誘導コンピュータ | 15ビット | わ | — | w、 2 w | わ | — |
| 1963 | サターンロケットデジタルコンピュータ | 26ビット | わ | — | 13ビット | わ | — |
| 1964年/ 1966年 | PDP-6 / PDP-10 | 36ビット | わ | w、 2 w | わ | わ | 6ビット7ビット(標準)9ビット |
| 1964 | タイタン | 48ビット | わ | わ | わ | わ | わ |
| 1964 | CDC 6600 | 60ビット | わ | わ | 1 ⁄ 4 w、 1 ⁄ 2 w | わ | 6ビット |
| 1964 | オートネティクスD-37Cミニッツマン II誘導コンピュータ | 27ビット | 11ビット、24ビット | — | 24ビット | わ | 4ビット、5ビット |
| 1965 | ジェミニ誘導コンピューター | 39ビット | 26ビット | — | 13ビット | 13ビット、26 | -少し |
| 1965 | IBM 1130 | 16ビット | w、2w | 2w、3w | w、2w | わ | 8ビット |
| 1965 | IBM システム/360 | 32ビット | 1 ⁄ 2 w、 w、1日、...16日 | w、 2 w | 1 ⁄ 2 w、 w、 1 1 ⁄ 2 w | 8ビット | 8ビット |
| 1965 | UNIVAC 1108および後継機 | 36ビット | 1 ⁄ 6 w、 1 ⁄ 4 w、 1 ⁄ 3 w、 1 ⁄ 2 w、 w、2 w | w、 2 w | わ | わ | 6ビット、9ビット |
| 1965 | PDP-8 | 12ビット | わ | — | わ | わ | 8ビット |
| 1965 | エレクトロロジカ X8 | 27ビット | わ | 2週間 | わ | わ | 6ビット、7ビット |
| 1966 | SDS シグマ 7 | 32ビット | 1 ⁄ 2 w、 w | w、 2 w | わ | 8ビット | 8ビット |
| 1969 | データジェネラルNOVA | 16ビット | わ | 2w 、4w | わ | わ | わ |
| 1969 | 4相システム AL1 | 8ビット | わ | — | 6ビット | 住所なし | ? |
| 1970 | MP944 | 20ビット | わ | — | ? | ? | ? |
| 1970 | PDP-11 | 16ビット | わ | 2w 、4w | w、 2 w、 3 w | 8ビット | 8ビット |
| 1971 | 4相システム IV/70(AL1後継機を使用) | 24ビット | わ | 2週間 | わ | わ | 8ビット |
| 1971 | CDC STAR-100 | 64ビット | 1 ⁄ 2 w、 w | 1 ⁄ 2 w、 w | 1 ⁄ 2 w、 w | 少し | 8ビット |
| 1971 | TMS1802NC | 4ビット | わ | — | ? | ? | — |
| 1971 | インテル 4004 | 4ビット | w、 d | — | 2w 、4w | わ | — |
| 1972 | インテル 8008 | 8ビット | わ | — | w、 2 w、 3 w | わ | 8ビット |
| 1972 | カルコンプ900 | 9ビット | わ | — | w、 2 w | わ | 8ビット |
| 1973 | IMP-16 | 16ビット | わ | — | w , 2 w [ e ] | わ | 8ビット[ f ] |
| 1974 | インテル8080 | 8ビット | w、 2 w、2日 | — | w、 2 w、 3 w | わ | 8ビット |
| 1975 | イリアック IV | 64ビット | わ | w、1 ⁄ 2 w | わ | わ | — |
| 1975 | モトローラ 6800 | 8ビット | w、2日 | — | w、 2 w、 3 w | わ | 8ビット |
| 1975 | MOSテクノロジー6501/6502 | 8ビット | w、2日 | — | w、 2 w、 3 w | わ | 8ビット |
| 1976 | クレイ1 | 64ビット | 24ビット、w | わ | 1 ⁄ 4 w、 1 ⁄ 2 w | わ | 8ビット |
| 1976 | ザイログ Z80 | 8ビット | w、 2 w、2日 | — | w、 2 w、 3 w、 4 w | わ | 8ビット |
| 1976 | シグネティクス 8X300 | 8ビット | わ | — | 16ビット | わ | 1~8ビット |
| 1978年(1980年) | 16 ビットx86 ( Intel 8086 ) (浮動小数点付き: Intel 8087 ) | 16ビット | 1 ⁄ 2 w、 w、2日 | — (2 w、4 w、5 w、17日) | 1 ⁄ 2 w、 w、 ... 7 w | 8ビット | 8ビット |
| 1978 | ヴァックス | 32ビット | 1 ⁄ 4 w、 1 ⁄ 2 w、 w、1日、...31日、1 ビット、...32ビット | w、 2 w | 1 ⁄ 4 w、... 14 1 ⁄ 4 w | 8ビット | 8ビット |
| 1979年(1984年) | Motorola 68000 シリーズ(浮動小数点付き) | 32ビット | 1 ⁄ 4 w、 1 ⁄ 2 w、 w、2日 | — ( w、 2 w、 2 1 ⁄ 2 w ) | 1 ⁄ 2 w、 w、... 7 1 ⁄ 2 w | 8ビット | 8ビット |
| 1981 | インテル iAPX 432 | 32ビット | 1 ⁄ 4 w、 1 ⁄ 2 w、 w | w、 2 w、 2 1 ⁄ 2 w | 6~321ビット | 8ビット | 8ビット |
| 1985 | IA-32 ( Intel 80386 ) (浮動小数点付き) | 32ビット | 1 ⁄ 4 w、 1 ⁄ 2 w、 w | — ( w , 2 w ,80ビット) | 8 ビット、...120ビット1 ⁄ 4 w ... 3 3 ⁄ 4 w | 8ビット | 8ビット |
| 1985 | ARMv1 | 32ビット | 1 ⁄ 4 w、 w | — | わ | 8ビット | 8ビット |
| 1985 | ミップスI | 32ビット | 1 ⁄ 4 w、 1 ⁄ 2 w、 w | w、 2 w | わ | 8ビット | 8ビット |
| 1991 | クレイ C90 | 64ビット | 32ビット、w | わ | 1 ⁄ 4 w、 1 ⁄ 2 w、48ビット | わ | 8ビット |
| 1992 | アルファ | 64ビット | 8ビット、1 ⁄ 4 w、1 ⁄ 2 w、w | 1 ⁄ 2 w、 w | 1 ⁄ 2 w | 8ビット | 8ビット |
| 1992 | パワーPC | 32ビット | 1 ⁄ 4 w、 1 ⁄ 2 w、 w | w、 2 w | わ | 8ビット | 8ビット |
| 1996 | ARMv4 ( Thumb付き) | 32ビット | 1 ⁄ 4 w、 1 ⁄ 2 w、 w | — | w ( 1 ⁄ 2 w、w ) | 8ビット | 8ビット |
| 2000 | IBM z/アーキテクチャー | 64ビット[ g ] | 8ビット、1 ⁄ 4 w、1 ⁄ 2 w、w1日、...31日 | 1 ⁄ 2 w、 w、 2 w | 1 ⁄ 4 w、 1 ⁄ 2 w、 3 ⁄ 4 w | 8ビット | 8ビット、UTF-16、UTF-32 |
| 2001 | IA-64 | 64ビット | 8ビット、1 ⁄ 4 w、1 ⁄ 2 w、w | 1 ⁄ 2 w、 w | 41ビット(128ビットバンドル)[ 9 ] | 8ビット | 8ビット |
| 2001 | ARMv6(VFP付き) | 32ビット | 8ビット、1 ⁄ 2 w、w | — (w、2w) | 1 ⁄ 2 w、 w | 8ビット | 8ビット |
| 2003 | x86-64 | 64ビット | 8ビット、1 ⁄ 4 w、1 ⁄ 2 w、w | 1 ⁄ 2 w、 w、80ビット | 8 ビット、...120ビット | 8ビット | 8ビット |
| 2013 | AArch64 | 64ビット | 8ビット、1 ⁄ 4 w、1 ⁄ 2 w、w | 1 ⁄ 2 w、 w | 1 ⁄ 2 w | 8ビット | 8ビット |
| 年 | コンピュータアーキテクチャ | 単語サイズw | 整数サイズ | 浮動小数点サイズ | 命令サイズ | アドレス解決の単位 | 文字サイズ |
| キー: bit:ビット、c : 文字、d: 10進数、w : アーキテクチャのワードサイズ、n : 可変サイズ、wm:ワードマーク | |||||||
[...] 内部データコードが使用されます。定量的 (数値) データは4ビットの10進コードでコード化され、定性 (英数字) データは6ビットの英数字コードでコード化されます。内部
命令コードと
は、命令がストレートバイナリコードでコード化されていることを意味します。
内部情報長に関して言えば、情報量子は「
カテナ
」と呼ばれ、6桁の10進数または4桁の英数字を表す24ビットで構成されています。この量子は、整数の10進数または英数字を表すために、4ビットと6ビットの倍数でなければなりません。並列読み出しコアメモリからの転送フローが低すぎる最小12ビットと、情報量子が大きすぎると判断される36ビット以上との間で、24ビットが妥当な妥協点であることがわかりました。カテナは可変長マシンにおける
文字
に相当すると考えられますが、複数の文字を含む可能性があるため、そう呼ぶことはできません。メインメモリとの間で直列に転送されます。
「量子」を単語、あるいは文字の集合を文字と呼ぶことを望まなかったため(単語は単語であり、量子は別のものです)、新しい単語が作成され、「カテナ」と呼ばれました。英語の単語で、
ウェブスター辞典
には存在しますが、フランス語には存在しません。ウェブスター辞典による「カテナ」の定義は「連結された連続体」であり、したがって24ビットの情報項目です。以下では「カテナ」という単語を使用します。
これで内部コードが定義されました。では、外部データコードとは何でしょうか?これらは主に、使用する情報処理デバイスに依存します。Gamma
60は
、あらゆるバイナリコード構造に関連する情報を処理できるように設計されています。したがって、80列のパンチカードは960ビットの情報項目とみなされます。12行×80列で960通りのパンチが可能です。これは、メインメモリの960個の磁気コアに正確な画像として保存され、2列のカードが1つのカテナを占めます。[...]
ビット
に加えて、マシン設計によって課せられる構造を説明するために使用されている用語
を以下に示します。
バイトは
、文字をエンコードするために使用されるビットのグループ、または入出力装置間で並列に送信されるビット数を示します。ここで
「文字」
以外の用語
が使用されているのは、ある文字が異なるアプリケーションで複数のコードによって表現される場合があり、異なるコードでは異なるビット数(つまり、異なるバイトサイズ)が使用される場合があるためです。入出力伝送において、ビットのグループ化は完全に任意であり、実際の文字とは無関係です。(この用語は「
bite
(バイト)」から派生した造語ですが、誤って
「bit
(ビット) 」と表記されることを避けるために「bit(ビット)」に書き換えられています
。)
ワード
は、1回のメモリサイクルでメモリからまたはメモリへ並列に送信されるデータビット数で構成されます。したがって、
ワードサイズ
はメモリの構造的特性として定義されます。(「
catena(カテナ
)」という用語は、 Bull
GAMMA 60
コンピュータの設計者によってこの目的で造語されました
。)
ブロックは
、単一の入出力命令に応答して入出力ユニットとの間で送信されるワード数を指します。ブロックサイズは入出力ユニットの構造的特性であり、設計によって固定されている場合もあれば、プログラムによって変更される場合もあります。[...]
バンドル)
にグループ化されます
。各バンドルには、3つの41ビット
命令スロット
と5ビットのテンプレートフィールドが含まれます。