Word(コンピュータアーキテクチャ)

コンピューティングにおいて、ワードとは、プロセッサの命令セットまたはハードウェアによって、自然または履歴的なデータ単位として扱われる固定サイズのデータ​​です。ワード内のビット数または桁数ワードサイズワード幅、またはワード長)は特定のプロセッサ設計またはコンピュータアーキテクチャの重要な特性です。

ワードサイズは、コンピュータの構造と動作の多くの側面に反映されます。プロセッサ内のレジスタの大部分は通常ワードサイズであり、ワーキングメモリとの間で1回の操作で転送できる最大のデータは、多くのアーキテクチャ(すべてではない)においてワードです。メモリ内の位置を指定するために使用される最大のアドレスサイズは、通常、ハードウェアワードです(ここでの「ハードウェアワード」とは、プロセッサのフルサイズの自然ワードを意味し、他の定義とは異なります)。

初期のコンピュータのいくつか (および現代のコンピュータのいくつか) は、単純な2進数ではなく2 進化 10数を使用しており、通常、ワード サイズは 10 または 12桁で、初期の10進コンピュータの中には固定ワード長がないものもあります。初期の 2 進システムでは、6 ビットの倍数のワード長を使用する傾向があり、36 ビット ワードはメインフレーム コンピュータで特に一般的でした。ASCIIの導入により、ワード長が 8 ビットの倍数のシステムに移行し、1970 年代には 16 ビット マシンが普及し、その後、32 ビットまたは 64 ビットの現代のプロセッサに移行しました。[ 1 ]デジタル信号プロセッサなどの特殊用途の設計では、4 ビットから 80 ビットまでの任意のワード長を使用できます。[ 1 ]

以前のコンピュータとの後方互換性のため、ワードサイズは想定と異なる場合があります。複数の互換性のあるプロセッサやプロセッサフ​​ァミリが共通のアーキテクチャと命令セットを共有しながらもワードサイズが異なる場合、その違いに対応するためにドキュメントやソフトウェアの表記が複雑になることがあります(後述のサイズファミリを参照)。

言葉の用途

コンピュータの構成に応じて、ワードサイズの単位は次のような目的で使用されることがあります。

固定小数点数
固定小数点値(通常は整数)のホルダーは、1つまたは複数の異なるサイズで使用できますが、ほとんどの場合、そのうちの1つはワードサイズです。他のサイズは、もしあるとしても、ワードサイズの倍数または分数になることが多いです。小さいサイズは通常、メモリを効率的に使用するためにのみ使用されます。プロセッサにロードされると、その値は通常、少なくともワードサイズの大きなホルダーに格納されます。
浮動小数点数
浮動小数点数値のホルダーは、通常、ワードまたはワードの倍数のいずれかです。
住所
メモリ アドレスのホルダーは、必要な値の範囲を表現できるサイズである必要がありますが、大きすぎてはいけません。そのため、使用されるサイズはワードであることが多いですが、ワード サイズの倍数または分数にすることもできます。
レジスター
プロセッサレジスタは、保持するデータのタイプ(整数、浮動小数点数、アドレスなど)に応じて適切なサイズで設計されています。多くのコンピュータアーキテクチャでは、複数の表現でデータを格納できる汎用レジスタが使用されています。
メモリ-プロセッサ転送
プロセッサがメモリサブシステムからレジスタに読み込んだり、レジスタの値をメモリに書き込んだりする場合、転送されるデータの量はワードであることが多い。歴史的には、1サイクルで転送できるこのビット数は、一部の環境( Bull Gamma 60など)ではカテナとも呼ばれていた。[ 2 ] [ 3 ]単純なメモリサブシステムでは、ワードはメモリデータバスを介して転送され、その幅は通常ワードまたはハーフワードである。キャッシュを使用するメモリサブシステムでは、ワードサイズの転送はプロセッサと最初のレベルのキャッシュの間で行われる。メモリ階層の下位レベルでは、通常、より大きな転送(ワードサイズの倍数)が使用される。
アドレス解決の単位
特定のアーキテクチャでは、連続するアドレス値はほぼ常に連続するメモリ単位を示しますこの単位がアドレス解決の単位です。ほとんどのコンピュータでは、この単位は文字(例:バイト)またはワードです。(ビット解決を使用しているコンピュータもいくつかあります。)単位がワードの場合、個々の文字にアクセスするための複雑さは増しますが、与えられたサイズのアドレスを使用してより大きなメモリ容量にアクセスできます。一方、単位がバイトの場合、個々の文字をアドレス指定(つまり、メモリ操作中に選択)できます。
説明書
機械命令は通常、アーキテクチャのワードサイズ、あるいはRISCアーキテクチャのようにその分数、あるいはその分数である「char」サイズの倍数です。これは、命令とデータは通常同じメモリサブシステムを共有するため、自然な選択です。ハーバード・アーキテクチャでは、命令とデータは異なるメモリに格納されるため、命令とデータのワードサイズは必ずしも関連している必要はありません。例えば、1ESS電子電話交換機のプロセッサは、 37ビットの命令と23ビットのデータワードを備えています。

単語サイズの選択

コンピュータアーキテクチャを設計する際には、ワードサイズの選択が非常に重要です。特定の用途(例えばアドレス)に対して特定のビットグループサイズが推奨される設計上の考慮事項があり、これらの考慮事項は用途に応じて異なるサイズを示唆しています。しかしながら、設計の経済性を考慮すると、単一のサイズ、あるいは基本サイズの倍数または分数(約数)で関連付けられたごく少数のサイズが強く推奨されます。この推奨サイズが、アーキテクチャのワードサイズとなります。

文字サイズは、過去(可変長文字エンコーディング以前)において、アドレス解決の単位とワードサイズの選択に影響を与える要因の一つでした。1960年代半ば以前は、文字はほとんどの場合6ビットで格納されていました。この方法では64文字までしか格納できなかったため、アルファベットは大文字のみでした。ワードサイズを文字サイズの倍数にすると時間と空間の効率が向上するため、この時期のワードサイズは通常6ビットの倍数でした(バイナリマシンの場合)。当時、一般的に選択されたのは36ビットワードで、これは浮動小数点形式の数値特性にも適したサイズでした。

8ビット文字を使用し、小文字をサポートするIBM System/360設計の導入後、文字(より正確にはバイト)の標準サイズは8ビットになりました。その後、ワードサイズは当然8ビットの倍数となり、16ビット、32ビット、64ビットが一般的に使用されるようになりました。

可変ワードアーキテクチャ

初期のマシン設計には、いわゆる可変長ワード長を使用するものがありました。このタイプの構成では、オペランドの長さは固定ではありません。マシンと命令に応じて、長さはカウント フィールド、区切り文字、またはフラグ、ワード マークなどと呼ばれる追加ビットで示されます。このようなマシンでは、数値に 4 ビットの数字または 6 ビットの文字の2 進化 10 進数を使用することがよくあります。このクラスのマシンには、 IBM 702IBM 705IBM 7080IBM 7010IBM 1400 シリーズIBM 1620RCA 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バイトを任意の位置から別の位置へ移動させる処理は通常、以下のようになります。

  1. ソースバイトをロードする
  2. 結果をターゲットバイトにストアする

ワード指向マシンでは、個々のバイトにアクセスする方法は2通りあります。バイトは、レジスタにおけるシフト操作とマスク操作の組み合わせによって操作できます。1バイトを任意の位置から別の位置に移動するには、次のような処理が必要になる場合があります。

  1. ソースバイトを含むワードをロードする
  2. ソースワードをシフトして、目的のバイトをターゲットワードの正しい位置に揃えます。
  3. ソースワードとマスクのAND演算を行い、必要なビット以外をゼロにする
  4. 対象バイトを含むワードをロードする
  5. 対象ワードとマスクのAND演算を行い、対象バイトをゼロにする
  6. ソースワードとターゲットワードを含むレジスタのOR演算を行ってソースバイトを挿入する
  7. 結果をターゲットの場所に保存します

一方、多くのワード指向マシンでは、レジスタまたはメモリ内の特殊なバイトポインタを用いた命令によってバイト操作を実装しています。例えば、PDP-10のバイトポインタには、バイトのサイズ(ビット単位)(異なるサイズのバイトへのアクセスを可能にする)、ワード内のバイトのビット位置、そしてデータのワードアドレスが含まれていました。命令は、例えばロードやデポジット(ストア)操作の際に、ポインタを次のバイトに自動的に調整することができました。

2の累乗

異なる精度のデータ値を格納するために、異なる容量のメモリが使用されます。一般的に使用されるメモリサイズは、通常、アドレス解決単位(バイトまたはワード)の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 ビットのままにしています。このような異なるサイズのワードを含むデータ構造は次のように呼ばれます。

  • WORD(16ビット/2バイト)
  • DWORD (32ビット/4バイト)
  • QWORD(64ビット/8バイト)

同様の現象が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 ツーゼZ322 ビット8ビット
1942 ABC50ビット
1944 ハーバード・マークI23日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 ユニバックI12日12 w1日
1952 IASマシン40ビット12 w5ビット
1952 高速ユニバーサルデジタルコンピュータM-234ビットえ?34ビット= 4ビットのオペコードと3×10ビットのアドレス 10ビット
1952 IBM 70136ビット12 w w12 w12 w w6ビット
1952 ユニバック60n d 1日、...10日2日3日間
1952 アラ I30ビット5ビット
1953 IBM 702n c 0 ℃、... 511 ℃ 5c c 6ビット
1953 ユニバック 120n d 1日、...10日2日3日間
1953 アラII30ビット2週間12 w5ビット
1954年(1955年) IBM 650 ( IBM 653搭載) 10日— (わ) 2日
1954 IBM 704 / IBM 709 / IBM 709036ビット6ビット
1954 IBM 705n c 0℃、...255℃ 5c c 6ビット
1954 IBM NORC16日w、 2 w
1956 IBM 305n d 1日、...100日10日d 1日
1956 アルマック34ビット12 w5ビット6ビット
1956 LGP-3031ビット16ビット6ビット
1958 ユニバックII12日12 w1日
1958 セージ32ビット12 w6ビット
1958 オートネティクス リコンプ II40ビットw79ビット8日15日2週間12 w12 w w5ビット
1958 ゼブラ33ビットw65ビット2週間 5ビット
1958 セトゥントリット(〜9.5ビット) [ c ]までトリトまで3トリテス4 トリット?
1958 エレクトロロジカ X127ビット2週間5ビット6ビット
1959 IBM 1401n c 1 カップ、... 1c、2c、4c、5c、7c、8c c 6ビット+ wm
1959年(未定) IBM 1620n d 2 d、... — (4日、...102 d ) 12日d 2日
1960 LARC12日w、 2 ww、 2 w2日
1960 CDC 160448ビット12 w6ビット
1960 IBM 1410n c 1 カップ、... 1 セント、2 セント、6 セント、7 セント、11 セント、12 セント c 6ビット+ wm
1960 IBM 707010日[]w、1-9日w、 d 2日
1960 PDP-118ビット6ビット
1960 エリオット 80339ビット
1961 IBM 7030(ストレッチ) 64ビット1 ビット、...64ビット1日、...16日12 w wbit(整数)、12 w(分岐)、w(浮動小数点数) 1 ビット、...8ビット
1961 IBM 7080n c 0℃、...255℃ 5c c 6ビット
1962 GE-6xx36ビットw、 2 ww、 2 w80ビット6ビット9ビット
1962 ユニバックIII25ビットw、 2 w、 3 w、 4 w6日12日6ビット
1962 オートネティクスD-17Bミニットマン I誘導コンピュータ 27ビット11ビット24ビット24ビット
1962 ユニバック 110736ビット16 w 13 w 12 w w6ビット
1962 IBM 7010n c 1 カップ、... 1 セント、2 セント、6 セント、7 セント、11 セント、12 セント c 6 b + wm
1962 IBM 7094 / IBM 7040 / IBM 704436ビットw、 2 w6ビット
1962 SDS 9シリーズ24ビット2週間
1963年(1966年) アポロ誘導コンピュータ15ビットw、 2 w
1963 サターンロケットデジタルコンピュータ26ビット13ビット
1964年/ 1966年 PDP-6 / PDP-1036ビットw、 2 w6ビット7ビット(標準)9ビット
1964 タイタン48ビット
1964 CDC 660060ビット14 w 12 w6ビット
1964 オートネティクスD-37Cミニッツマン II誘導コンピュータ 27ビット11ビット24ビット24ビット4ビット5ビット
1965 ジェミニ誘導コンピューター39ビット26ビット13ビット13ビット、26 -少し
1965 IBM 113016ビットw2w2w3ww2w8ビット
1965 IBM システム/36032ビット12 w w1日、...16日w、 2 w12 w w、 1 12 w8ビット8ビット
1965 UNIVAC 1108および後継機 36ビット16 w 14 w 13 w 12 w w、2 ww、 2 w6ビット9ビット
1965 PDP-812ビット8ビット
1965 エレクトロロジカ X827ビット2週間6ビット7ビット
1966 SDS シグマ 732ビット12 w ww、 2 w8ビット8ビット
1969 データジェネラルNOVA16ビット2w 、4w
1969 4相システム AL18ビット6ビット 住所なし ?
1970 MP94420ビット? ? ?
1970 PDP-1116ビット2w 、4ww、 2 w、 3 w8ビット8ビット
1971 4相システム IV/70AL1後継機を使用) 24ビット2週間8ビット
1971 CDC STAR-10064ビット12 w w12 w w12 w w少し 8ビット
1971 TMS1802NC4ビット? ?
1971 インテル 40044ビットw、 d 2w 、4w
1972 インテル 80088ビットw、 2 w、 3 w8ビット
1972 カルコンプ9009ビットw、 2 w8ビット
1973 IMP-1616ビットw , 2 w [ e ]8ビット[ f ]
1974 インテル80808ビットw、 2 w2日w、 2 w、 3 w8ビット
1975 イリアック IV64ビットw12 w
1975 モトローラ 68008ビットw2日w、 2 w、 3 w8ビット
1975 MOSテクノロジー6501/65028ビットw2日w、 2 w、 3 w8ビット
1976 クレイ164ビット24ビットw14 w 12 w8ビット
1976 ザイログ Z808ビットw、 2 w2日w、 2 w、 3 w、 4 w8ビット
1976 シグネティクス 8X3008ビット16ビット 1~8ビット
1978年(1980年) 16 ビットx86 ( Intel 8086 ) (浮動小数点付き: Intel 8087 ) 16ビット12 w w2日— (2 w、4 w、5 w17日12 w w、 ... 7 w8ビット8ビット
1978 ヴァックス32ビット14 w 12 w w1日、...31日1 ビット、...32ビットw、 2 w14 w、... 14 14 w8ビット8ビット
1979年(1984年) Motorola 68000 シリーズ(浮動小数点付き) 32ビット14 w 12 w w2日— ( w、 2 w、 2 12 w ) 12 w w、... 7 12 w8ビット8ビット
1981 インテル iAPX 43232ビット14 w 12 w ww、 2 w、 2 12 w6~321ビット 8ビット8ビット
1985 IA-32 ( Intel 80386 ) (浮動小数点付き) 32ビット14 w 12 w w— ( w , 2 w ,80ビット8 ビット、...120ビット14 w ... 3 34 w8ビット8ビット
1985 ARMv132ビット14 w w8ビット8ビット
1985 ミップスI32ビット14 w 12 w ww、 2 w8ビット8ビット
1991 クレイ C9064ビット32ビットw14 w 12 w48ビット8ビット
1992 アルファ64ビット8ビット14 w12 ww12 w w12 w8ビット8ビット
1992 パワーPC32ビット14 w 12 w ww、 2 w8ビット8ビット
1996 ARMv4 ( Thumb付き) 32ビット14 w 12 w ww ( 12 ww ) 8ビット8ビット
2000 IBM z/アーキテクチャー64ビット[ g ]8ビット14 w12 ww1日、...31日12 w w、 2 w14 w 12 w 34 w8ビット8ビットUTF-16UTF-32
2001 IA-6464ビット8ビット14 w12 ww12 w w41ビット(128ビットバンドル)[ 9 ]8ビット8ビット
2001 ARMv6(VFP付き) 32ビット8ビット12 ww— (w、2w) 12 w w8ビット8ビット
2003 x86-6464ビット8ビット14 w12 ww12 w w80ビット8 ビット、...120ビット8ビット8ビット
2013 AArch6464ビット8ビット14 w12 ww12 w w12 w8ビット8ビット
コンピュータアーキテクチャ 単語サイズw整数サイズ 浮動小数点サイズ 命令サイズ アドレス解決の単位 文字サイズ
キー: bit:ビットc : 文字、d: 10進数w : アーキテクチャのワードサイズ、n : 可変サイズ、wm:ワードマーク

参照

  • Syllable  – 一部の歴史的なデジタルハードウェアで使用されるプラットフォーム固有のデータサイズ

注記

  1. ^初期のコンピュータの多くは10進法で、少数は3進法だった。
  2. ^ UNIVAC 1005 は、行と列に5 ビットのグレイ コードを使用してコアをアドレス指定します。
  3. ^ビット相当量は、トリットによって提供される情報エントロピーの量、つまり をとることで計算されます。これは約9に相当します。ログ23{\displaystyle \log_{2}(3)}6 トリットの場合は51 ビット
  4. ^ 3つの状態を示す標識
  5. ^ IMP-16 は、拡張命令セット CROM II がインストールされている場合にのみ 2 ワード命令をサポートします。
  6. ^ IMP-16基本命令セットではサポートされていないバイト。拡張命令セットCROM IIがインストールされている場合にのみサポートされます。CROM IIを使用している場合でも、バイトサイズのメモリ書き込みはサポートされません。
  7. ^ z/Architectureは本質的に64ビットアーキテクチャですが、「ワード」という用語は依然として32ビットの量を指します。ただし、この表では、サイズはワードが32ビットであるかのように扱われます。64 ビット

参考文献

  1. ^ a b Beebe, Nelson HF (2017-08-22). 「第1章 整数演算」. 『数学関数計算ハンドブック - MathCWポータブルソフトウェアライブラリを用いたプログラミング』(第1版). ソルトレイクシティ、ユタ州、米国: Springer International Publishing AG . p. 970. doi : 10.1007/978-3-319-64110-2 . ISBN 978-3-319-64109-6. LCCN  2017947446 . S2CID  30244721 .
  2. ^ Dreyfus, Phillippe (1958-05-08) [1958-05-06]. 米国カリフォルニア州ロサンゼルスで執筆。Gamma 60のシステム設計(PDF) . Western Joint Computer Conference : Contrasts in Computers. ACM, New York, NY, US. pp.  130– 133. IRE-ACM-AIEE '58 (Western). 2017-04-03にオリジナルからアーカイブ(PDF) . 2017-04-03に取得[...] 内部データコードが使用されます。定量的 (数値) データは4ビットの10進コードでコード化され、定性 (英数字) データは6ビットの英数字コードでコード化されます。内部命令コードとは、命令がストレートバイナリコードでコード化されていることを意味します。内部情報長に関して言えば、情報量子は「カテナ」と呼ばれ、6桁の10進数または4桁の英数字を表す24ビットで構成されています。この量子は、整数の10進数または英数字を表すために、4ビットと6ビットの倍数でなければなりません。並列読み出しコアメモリからの転送フローが低すぎる最小12ビットと、情報量子が大きすぎると判断される36ビット以上との間で、24ビットが妥当な妥協点であることがわかりました。カテナは可変長マシンにおける文字に相当すると考えられますが、複数の文字を含む可能性があるため、そう呼ぶことはできません。メインメモリとの間で直列に転送されます。「量子」を単語、あるいは文字の集合を文字と呼ぶことを望まなかったため(単語は単語であり、量子は別のものです)、新しい単語が作成され、「カテナ」と呼ばれました。英語の単語で、ウェブスター辞典には存在しますが、フランス語には存在しません。ウェブスター辞典による「カテナ」の定義は「連結された連続体」であり、したがって24ビットの情報項目です。以下では「カテナ」という単語を使用します。これで内部コードが定義されました。では、外部データコードとは何でしょうか?これらは主に、使用する情報処理デバイスに依存します。Gamma 60は、あらゆるバイナリコード構造に関連する情報を処理できるように設計されています。したがって、80列のパンチカードは960ビットの情報項目とみなされます。12行×80列で960通りのパンチが可能です。これは、メインメモリの960個の磁気コアに正確な画像として保存され、2列のカードが1つのカテナを占めます。[...]
  3. ^ Blaauw, Gerrit Anne ; Brooks, Jr., Frederick Phillips ; Buchholz, Werner (1962). "4: Natural Data Units" (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 . Archived (PDF) from the original on 2017-04-03 . Retrieved 2017-04-03 . [...] ここで、ビットに加えて、マシン設計によって課せられる構造を説明するために使用されている用語を以下に示します。バイトは、文字をエンコードするために使用されるビットのグループ、または入出力装置間で並列に送信されるビット数を示します。ここで「文字」以外の用語が使用されているのは、ある文字が異なるアプリケーションで複数のコードによって表現される場合があり、異なるコードでは異なるビット数(つまり、異なるバイトサイズ)が使用される場合があるためです。入出力伝送において、ビットのグループ化は完全に任意であり、実際の文字とは無関係です。(この用語は「bite (バイト)」から派生した造語ですが、誤って「bit (ビット) 」と表記されることを避けるために「bit(ビット)」に書き換えられています。)ワードは、1回のメモリサイクルでメモリからまたはメモリへ並列に送信されるデータビット数で構成されます。したがって、ワードサイズはメモリの構造的特性として定義されます。(「catena(カテナ)」という用語は、 Bull GAMMA 60コンピュータの設計者によってこの目的で造語されました。)ブロックは、単一の入出力命令に応答して入出力ユニットとの間で送信されるワード数を指します。ブロックサイズは入出力ユニットの構造的特性であり、設計によって固定されている場合もあれば、プログラムによって変更される場合もあります。[...] 
  4. ^ 「フォーマット」(PDF) .リファレンス・マニュアル 7030 データ処理システム(PDF) . IBM. 1961年8月. pp.  50– 57. 2021年12月15日閲覧
  5. ^ Blaauw, Gerrit Anne ; Brooks, Jr., Frederick Phillips (1997).コンピュータアーキテクチャ:概念と進化(第1版). Addison-Wesley . ISBN 0-201-10557-8(1213ページ) (注:これは単巻版です。この作品は二巻版も出版されていました。)
  6. ^ラルストン、アンソニー、ライリー、エドウィン・D. (1993). 『コンピュータサイエンス百科事典』(第3版).ヴァン・ノストランド・ラインホールド. ISBN 0-442-27679-6
  7. ^ Clippinger, Richard F. [ドイツ語] (1948年9月29日). 「ENIAC(電子数値積分器およびコンピュータ)に適用された論理符号化システム」 . 米国メリーランド州アバディーン試験場:弾道研究所. 報告書番号673; 兵器省研究開発部プロジェクト番号TB3-0007 . 2017年4月5日閲覧
  8. ^ Clippinger, Richard F. [ドイツ語] (1948年9月29日). 「ENIACへの論理符号化システムの適用」 . 米国メリーランド州アバディーン試験場:弾道研究所. 第8章: 改良型ENIAC . 2017年4月5日閲覧
  9. ^ 「4. 命令フォーマット」(PDF) . Intel Itanium アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル. 第3巻:Intel Itanium 命令セット・リファレンス . p. 3:293 . 2022年4月25日閲覧. 3つの命令が、128ビットサイズでアラインメントされたコンテナ(バンドル)にグループ化されます。各バンドルには、3つの41ビット命令スロットと5ビットのテンプレートフィールドが含まれます。