コンピューターは情報を 8 ビットの倍数で保持します。 この 8 ビットの情報単位をバイト といいます。
コンピューターによるアクセスは、1 バイト、ハーフワード、ワード、またはダブルワードを単位として行われます。 ハーフワード は連続している 2 バイト、 フルワード は連続している 4 バイト、 ダブルワード は連続している 8 バイトをそれぞれ指します。 ストレージのバイト位置は 0 から開始される連続した番号が付けられます。各番号は対応するバイトのアドレスです。 ハーフワード、ワード、およびダブルワードは、それぞれの一番左のアドレスでアドレス指定されます。
ハーフワード、ワード、およびダブルワードが、主記憶域でそれぞれの 情報単位の規定境界に置かれていると、プログラムの実行が高速になります。 つまり、表 25 に示すように、情報単位のアドレスがその情報のバイト数の倍数と なる場合、プログラムの実行が高速になります。
| ストレージ・セクションのアドレス | |||||||
|---|---|---|---|---|---|---|---|
| 5000 | 5001 | 5002 | 5003 | 5004 | 5005 | 5006 | 5007 |
| バイト | バイト | バイト | バイト | バイト | バイト | バイト | バイト |
| ハーフワード | ハーフワード | ハーフワード | ハーフワード | ||||
| フルワード | フルワード | ||||||
| ダブルワード | |||||||
PL/I は規定境界でのデータ位置合わせが可能です。 ただし、連続するデータ・エレメント間の未使用バイトがあると、 ストレージの使用が増加します。 例えば、データ項目がデータ・セットを作成するために 使用される集合のメンバーである場合、 未使用バイトによって補助記憶域の必要量が増えることになります。 ALIGNED 属性と UNALIGNED 属性を使用すれば、適切な規定境界にデータを位置合わせ するかどうかを選択できます。