JPH02148239A - データ処理システム - Google Patents
データ処理システムInfo
- Publication number
- JPH02148239A JPH02148239A JP1260386A JP26038689A JPH02148239A JP H02148239 A JPH02148239 A JP H02148239A JP 1260386 A JP1260386 A JP 1260386A JP 26038689 A JP26038689 A JP 26038689A JP H02148239 A JPH02148239 A JP H02148239A
- Authority
- JP
- Japan
- Prior art keywords
- byte
- data
- instruction
- register
- bytes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明はデータ処理システムに関し、さらに詳細には、
データ処理システムで文字ストリングを操作するための
装置に関するものである。
データ処理システムで文字ストリングを操作するための
装置に関するものである。
B、従来技術
データ処理システムはデータにアクセスして操作する。
プロセッサによる転送及び操作のため一定量のデータが
使用される。この一定量は通常、メモリに1単位として
記憶されるデータの毒である。最近のデータ処理システ
ムでは、このデータの記憶単位はワードと呼ばれ、16
個の2進数字すなわちビットからなる。ワードは、特定
のデータ処理システムの特性により、32.48または
64ビツトから構成することもできる。ワードをバイト
(8ビツト)またはニブル(4ビツト)等のもっと小さ
な単位に分割することも望ましい。
使用される。この一定量は通常、メモリに1単位として
記憶されるデータの毒である。最近のデータ処理システ
ムでは、このデータの記憶単位はワードと呼ばれ、16
個の2進数字すなわちビットからなる。ワードは、特定
のデータ処理システムの特性により、32.48または
64ビツトから構成することもできる。ワードをバイト
(8ビツト)またはニブル(4ビツト)等のもっと小さ
な単位に分割することも望ましい。
データ処理システムの能力が増大するに従い、大量のデ
ータを1単位として転送する方が有利になる。しかし、
データ処理動作では、バイトまたはニブル等の少J4の
テ′−夕にアクセスできるこきも望ましい。メモリ内の
ワード等のデータ単位の記憶のためには、ワードがデー
タ・アクセスの最小単位であることが必要である。言い
換えると、メモリのデータにアクセスするときは、−度
に1ワードずつアクセスしなければならない。
ータを1単位として転送する方が有利になる。しかし、
データ処理動作では、バイトまたはニブル等の少J4の
テ′−夕にアクセスできるこきも望ましい。メモリ内の
ワード等のデータ単位の記憶のためには、ワードがデー
タ・アクセスの最小単位であることが必要である。言い
換えると、メモリのデータにアクセスするときは、−度
に1ワードずつアクセスしなければならない。
文字ストリングは、連続シーケンスで記憶された特定の
文字データである。一般には、1文字は1ワードよりも
長さが短く、通常、1バイトである。文字ストリングの
長さは変わることがあるので、これらの可変長文字スト
リングをワード境界上でのみ記憶することはメモリの非
効率的使用を招来する。すなわち、特定の文字シーケン
スにおけるバイトの数が、使用されるメモリのワード全
体の数に常に等しいとは限らない。したがって、ワード
境界上に記憶されていない、メモリ内の文字ストリング
にアクセスすることが望ましい。
文字データである。一般には、1文字は1ワードよりも
長さが短く、通常、1バイトである。文字ストリングの
長さは変わることがあるので、これらの可変長文字スト
リングをワード境界上でのみ記憶することはメモリの非
効率的使用を招来する。すなわち、特定の文字シーケン
スにおけるバイトの数が、使用されるメモリのワード全
体の数に常に等しいとは限らない。したがって、ワード
境界上に記憶されていない、メモリ内の文字ストリング
にアクセスすることが望ましい。
従来のデータ処理システムは記憶及び転送単位として8
ビツト、16ビツトまたは32ビツトのワード長を使用
していたので、文字ストリングの効率的記憶の問題は大
きな関心事ではなかった。
ビツト、16ビツトまたは32ビツトのワード長を使用
していたので、文字ストリングの効率的記憶の問題は大
きな関心事ではなかった。
しかし、最近のデータ処理システムは、記憶または転送
単位におけるビットの数を増大させるものが一層多くな
っている。したがって、データ・ワード内のバイトのア
クセス可能性が一層重要になる。
単位におけるビットの数を増大させるものが一層多くな
っている。したがって、データ・ワード内のバイトのア
クセス可能性が一層重要になる。
以下の従来技術は文字シーケンス処理を扱っているo
” Centra l Processorυith
In5tructionsFor Processi
ng 5equences Of Character
s″と+11う名称の米国特許第4556951号は、
文字シーケンスを処理する、さらに具体的には、所定の
特性について文字シーケンスを検査するようにされたデ
ータ処理システムについて考察している。
” Centra l Processorυith
In5tructionsFor Processi
ng 5equences Of Character
s″と+11う名称の米国特許第4556951号は、
文字シーケンスを処理する、さらに具体的には、所定の
特性について文字シーケンスを検査するようにされたデ
ータ処理システムについて考察している。
”Textual Comparison Syste
m For LocatingDesired Cha
racter Strings And Delimi
terCharacters″という名称の米国特許第
4625295号は、テキスト・シーケンスで所定のワ
ードを検出するための種々の探索戦略を実現するのに使
用されるテキスト比較回路を含むデータ処理システムを
開示している。
m For LocatingDesired Cha
racter Strings And Delimi
terCharacters″という名称の米国特許第
4625295号は、テキスト・シーケンスで所定のワ
ードを検出するための種々の探索戦略を実現するのに使
用されるテキスト比較回路を含むデータ処理システムを
開示している。
アドバンスト・マイクロ・デバイセス
(Advanced Micro Devices)社
の刊行物Am29000 Llser’s Manua
l のI)I)、 8〜36には1あるレジスタのバイ
トを別のレジスタの対応バイトと比較するバイト比較命
令が記載されている。
の刊行物Am29000 Llser’s Manua
l のI)I)、 8〜36には1あるレジスタのバイ
トを別のレジスタの対応バイトと比較するバイト比較命
令が記載されている。
18Mテクニカル・デイクロージャ・プルテン第23巻
、第5号、1980年10月の”5canInstru
ct ion″と題されたI)I)、 2051〜2
056は、バイト単位で左から右に文字ストリングを走
査するための命令を開示している。
、第5号、1980年10月の”5canInstru
ct ion″と題されたI)I)、 2051〜2
056は、バイト単位で左から右に文字ストリングを走
査するための命令を開示している。
Variable Length Byte Stri
ng Compare andMove In5tru
ction″と題された18Mテクニカル・ディスクロ
ージャ・プルテン、第20巻、第8号、1978年1月
は、区切り文字または最初の非区切り文字を求めてコマ
ンド・ストリングを走査するための命令を開示している
。
ng Compare andMove In5tru
ction″と題された18Mテクニカル・ディスクロ
ージャ・プルテン、第20巻、第8号、1978年1月
は、区切り文字または最初の非区切り文字を求めてコマ
ンド・ストリングを走査するための命令を開示している
。
C0発明が解決しようとする問題点
本発明の目的は、データ記憶またはデータ処理の単位よ
りも小さいデータ単位からなる文字シーケンスをロード
し、記憶するための装置を提供することである。
りも小さいデータ単位からなる文字シーケンスをロード
し、記憶するための装置を提供することである。
D1問題点を解決するための手段
本発明によれば、ワード単位でデータを転送するよう構
成されたデータ処理システムにおいて、単一のデータ処
理命令に応答して、ワード単位よりも小さい単位で記憶
されたデータの連続可変長シーケンスを操作するための
装置が提供される。
成されたデータ処理システムにおいて、単一のデータ処
理命令に応答して、ワード単位よりも小さい単位で記憶
されたデータの連続可変長シーケンスを操作するための
装置が提供される。
この装置は、命令を復号し、単一処理命令の復号に応答
してコマンド信号を発生するための命令復号回路を備え
る。データをアドレス可能ワードとして記憶するための
メモリ回路が設けられ、各ワードは複数のもっと小さい
データ単位を含む。命令復号回路からのコマンド信号に
応答して、メモリ回路でのより小さなデータ単位の連続
シーケンスにアクセスするためのもう1つの回路が設け
られている。データ・メモリに記憶された単位シーケン
スのより小さなデータ単位の最初のものはメモリ回路で
ワード境界に記憶されない。より小さなデータ単位シー
ケンスを複数のデータ処理レジスタに供給するための回
路も備えられている。この回路は、シーケンスにおける
最初のより小さなデータ単位が、登録された最初の境界
と一致することを規定する。
してコマンド信号を発生するための命令復号回路を備え
る。データをアドレス可能ワードとして記憶するための
メモリ回路が設けられ、各ワードは複数のもっと小さい
データ単位を含む。命令復号回路からのコマンド信号に
応答して、メモリ回路でのより小さなデータ単位の連続
シーケンスにアクセスするためのもう1つの回路が設け
られている。データ・メモリに記憶された単位シーケン
スのより小さなデータ単位の最初のものはメモリ回路で
ワード境界に記憶されない。より小さなデータ単位シー
ケンスを複数のデータ処理レジスタに供給するための回
路も備えられている。この回路は、シーケンスにおける
最初のより小さなデータ単位が、登録された最初の境界
と一致することを規定する。
好ましい実施例では、本発明は、バイトがワード境界に
記憶されているかどうかにかかわらず、メモリのバイト
・ロケーションから文字ストリングを取り出す機能を実
行する回路を提供する。この好ましい実施例では、本発
明は、バイトのロケーションをメモリからの単一の32
ビツト・ワード内に配置するバイト回転回路を備える。
記憶されているかどうかにかかわらず、メモリのバイト
・ロケーションから文字ストリングを取り出す機能を実
行する回路を提供する。この好ましい実施例では、本発
明は、バイトのロケーションをメモリからの単一の32
ビツト・ワード内に配置するバイト回転回路を備える。
バイト回転回路はバイト組合せ回路と共に使用されて、
データ処理システム内の汎用レジスタに記憶するため、
バイトを互いに組み合わせてシーケンスを形成する。バ
イトを回転し、組み合わせる能力を提供することにより
、本発明は、メモリのワード境界上に記憶されていない
バイトにアクセスし、適当な境界、すなわち、レジスタ
境界上のバイトをデータ処理システムに供給することを
可能にする。順になったこれらのバイトは、必要に応じ
て汎用レジスタで処理することができる文字ストリング
を構成する。
データ処理システム内の汎用レジスタに記憶するため、
バイトを互いに組み合わせてシーケンスを形成する。バ
イトを回転し、組み合わせる能力を提供することにより
、本発明は、メモリのワード境界上に記憶されていない
バイトにアクセスし、適当な境界、すなわち、レジスタ
境界上のバイトをデータ処理システムに供給することを
可能にする。順になったこれらのバイトは、必要に応じ
て汎用レジスタで処理することができる文字ストリング
を構成する。
本発明はさらに、シーケンスをメモリの非ワード境界上
に記憶するための第2のバイト回転回路ならびに第2の
バイト組合せ機能を備える。
に記憶するための第2のバイト回転回路ならびに第2の
バイト組合せ機能を備える。
本発明はワードの内部のバイトにアクセスし、操作する
ための機能を提供し、文字ストリングがワード境界上に
記憶されることを必要としないことにより文字ストリン
グの効率的な記憶を促進する一方、データ処理システム
で実行されているアプリケーションにより要求されたと
き、文字ストリング・シーケンスの個々のバイトを操作
することを依然として可能にする。
ための機能を提供し、文字ストリングがワード境界上に
記憶されることを必要としないことにより文字ストリン
グの効率的な記憶を促進する一方、データ処理システム
で実行されているアプリケーションにより要求されたと
き、文字ストリング・シーケンスの個々のバイトを操作
することを依然として可能にする。
E、実施例
本発明の目的は、文字ストリングを取り出し、記憶する
ための装置を提供することである。以下の考察で用いら
れる文字ストリングは、バイト・データにより指定され
た文字シーケンスを含む。
ための装置を提供することである。以下の考察で用いら
れる文字ストリングは、バイト・データにより指定され
た文字シーケンスを含む。
バイト・シーケンスの長さはバイト・カウントで指定す
るか、またはシーケンスの終りにおける終了文字により
指定することができる。
るか、またはシーケンスの終りにおける終了文字により
指定することができる。
第1図は本発明の文字ストリング操作についてのデータ
・フローをブロック線図形式で示す。第1図を参照する
と、命令復号装置10はストリング操作命令を復号し、
コマンド信号を線12を介して制御論理14に供給する
。制御論理14は固定小数点カウント・レジスタ16
(XPCR)を含む。制御論理14は、バイト回転回路
22及び52、レジスタ26及び56、バイト組合せ論
理30及び601ならびにバイト比較回路34等の本発
明の種々の構成要素を動作させるための制御信号を供給
する。制御論理14からこれら個々の装置への線は簡単
のため省略した。しかし、制御論理14とこれらの個々
の構成要素との動作は流れ図の形で説明する。
・フローをブロック線図形式で示す。第1図を参照する
と、命令復号装置10はストリング操作命令を復号し、
コマンド信号を線12を介して制御論理14に供給する
。制御論理14は固定小数点カウント・レジスタ16
(XPCR)を含む。制御論理14は、バイト回転回路
22及び52、レジスタ26及び56、バイト組合せ論
理30及び601ならびにバイト比較回路34等の本発
明の種々の構成要素を動作させるための制御信号を供給
する。制御論理14からこれら個々の装置への線は簡単
のため省略した。しかし、制御論理14とこれらの個々
の構成要素との動作は流れ図の形で説明する。
第1図では、本発明は、レジスタ26及び/くイト組合
せ論理30に接続されたバイト回転回路22を含む。バ
イト回転回路22はバス18によりメモリ20に接続さ
れている。以下の考察では、メモリ20とキャッシュと
いう語は交換可能に使用される。なぜならば、本発明は
データ・キヤ・ンシュ及びシステム・メモリの両方で使
用することができるからである。メモリ20はノくス1
8を介してワードによりアドレス可能である。好ましい
実施例では、バスは32ビ・ノド幅であり、ワード長を
4バイトにする。バイト比較回路34はレジスタ26に
接続されて、レジスタ26内の個々のバイトを所定バイ
トと比較する。レジスタ26はバス24によりバイト回
転回路22に接続され、バス28によりバイト組合せ論
理30にも接続されている。さらに、バイト組合せ論理
30はOを受は取るよう接続されている。バイト回転回
路22、レジスタ26及びバイト組合せ論理30は長さ
が1ワード、すなわち、32ビツトである。
せ論理30に接続されたバイト回転回路22を含む。バ
イト回転回路22はバス18によりメモリ20に接続さ
れている。以下の考察では、メモリ20とキャッシュと
いう語は交換可能に使用される。なぜならば、本発明は
データ・キヤ・ンシュ及びシステム・メモリの両方で使
用することができるからである。メモリ20はノくス1
8を介してワードによりアドレス可能である。好ましい
実施例では、バスは32ビ・ノド幅であり、ワード長を
4バイトにする。バイト比較回路34はレジスタ26に
接続されて、レジスタ26内の個々のバイトを所定バイ
トと比較する。レジスタ26はバス24によりバイト回
転回路22に接続され、バス28によりバイト組合せ論
理30にも接続されている。さらに、バイト組合せ論理
30はOを受は取るよう接続されている。バイト回転回
路22、レジスタ26及びバイト組合せ論理30は長さ
が1ワード、すなわち、32ビツトである。
バイト組合せ論理30は汎用ファイル44に接続されて
いる。これらは中央処理装置CPUのための汎用レジス
タである。CPUはバス48により汎用レジスタ・ファ
イル44にアクセスするよう示されている。汎用レジス
タ・ファイル44内の各レジスタは長さが32ビ・ノド
、すなわち、1ワードである。汎用ファイル44はノ(
ス50により第2のバイト回転回路52に接続されてい
る。
いる。これらは中央処理装置CPUのための汎用レジス
タである。CPUはバス48により汎用レジスタ・ファ
イル44にアクセスするよう示されている。汎用レジス
タ・ファイル44内の各レジスタは長さが32ビ・ノド
、すなわち、1ワードである。汎用ファイル44はノ(
ス50により第2のバイト回転回路52に接続されてい
る。
第2のバイト回転回路はまた、バス54によりレジスタ
56に接続され、同じバス54によりバイト441合せ
論理60に接続されている。レジスタ56及びバイト組
合せ論理60はバス58により接続されている。組合せ
論理60の出力はバス62によりメモリ20に接続され
ている。前と同様に、バイト回転回路52、レジスタ5
6及びバイト組合せ論理60の容量は1ワードの長さで
ある。
56に接続され、同じバス54によりバイト441合せ
論理60に接続されている。レジスタ56及びバイト組
合せ論理60はバス58により接続されている。組合せ
論理60の出力はバス62によりメモリ20に接続され
ている。前と同様に、バイト回転回路52、レジスタ5
6及びバイト組合せ論理60の容量は1ワードの長さで
ある。
制御論理14は以下のように機能する。XPCRがOを
含む場合は、動作は何も実行されないが、その他の場合
には、以下が制御論理14により計算される。
含む場合は、動作は何も実行されないが、その他の場合
には、以下が制御論理14により計算される。
LSBS=開始アドレスの2つの最下位ビット、LSB
X= (XPCRI−1)の2つの最下位ビット 注:すべてのマスク及びマーク・フィールドは最上位バ
イトから最下位バイトに向かって降順に示されている。
X= (XPCRI−1)の2つの最下位ビット 注:すべてのマスク及びマーク・フィールドは最上位バ
イトから最下位バイトに向かって降順に示されている。
制御論理14は、以下の式を使って、ス) IJソング
令に必要なアクセスの数を計算する。
令に必要なアクセスの数を計算する。
必要なアクセスの数
=1+ (XPCR−1)/4+ (LSBS+LSB
X)/4 (ただし、「/」は整数の除算を示す。)表1 ストリング・ロード SBS 左に回転する バイトの数 バイト・ロード 組合せマスク 表2 ストリング・ロード SBX 最後のアクセス・ マスク・ビット バイト・ロード組合せマスクはバイト組合せ論理30を
制御する。「1」は、メモリ20からのこのバイトが、
レジスタ26からのこのバイトに置き換わるべきである
ことを示す。「0」は、レジスタ26からのバイトがそ
のまま使用されるべきであることを示す。制御論理14
は、表1に示すロード・バイト組合せマスクを発生する
。
X)/4 (ただし、「/」は整数の除算を示す。)表1 ストリング・ロード SBS 左に回転する バイトの数 バイト・ロード 組合せマスク 表2 ストリング・ロード SBX 最後のアクセス・ マスク・ビット バイト・ロード組合せマスクはバイト組合せ論理30を
制御する。「1」は、メモリ20からのこのバイトが、
レジスタ26からのこのバイトに置き換わるべきである
ことを示す。「0」は、レジスタ26からのバイトがそ
のまま使用されるべきであることを示す。制御論理14
は、表1に示すロード・バイト組合せマスクを発生する
。
最後のアクセス・マスク・ビットは、最後のアクセスの
場合にバイト組合せ論理30を制御するために使用され
る。「1」は、このバイトをバイト・ロード組合せマス
クによる制御にしたがって通過されるべきことを示す。
場合にバイト組合せ論理30を制御するために使用され
る。「1」は、このバイトをバイト・ロード組合せマス
クによる制御にしたがって通過されるべきことを示す。
rOJは、このバイトに2進ro OOOO000Jの
値を渡すべきであることを示す。制御論理14は、表2
に示す最後のアクセス・マスク・ビットを発生する。
値を渡すべきであることを示す。制御論理14は、表2
に示す最後のアクセス・マスク・ビットを発生する。
表3
ストリング記憶
SBS
O
右に回転する
バイトの数
バイト記憶
組合せマスク
ooo。
表4
唯1回のアクセスによるストリング記憶SBS
O
メモリ・
マーク・ビット
表5
2回以上のアクセスによるストリング記憶最初の L
SBS 最後の LSBS マーク・ビット + LSBX
マーク・ビットバイト記憶組合せマスクはバイト組合
せ論理60を制御する。「1」は、レジスタ56からの
このバイトが、汎用レジスタ・ファイル44からのこの
バイトに置き換わるべきであることを示す。
SBS 最後の LSBS マーク・ビット + LSBX
マーク・ビットバイト記憶組合せマスクはバイト組合
せ論理60を制御する。「1」は、レジスタ56からの
このバイトが、汎用レジスタ・ファイル44からのこの
バイトに置き換わるべきであることを示す。
「0」は、汎用レジスタ・ファイル44からのバイトが
そのまま使用されるべきであることを示す。
そのまま使用されるべきであることを示す。
制御論理44は、表3に示すバイト記憶組合せマスクを
発生する。
発生する。
マーク・ビットはすべての記憶アクセスでメモリ20に
送られる。「1」は、このバイトがメモリ20で変更さ
れるべきであることを示す。「0」は、このバイトがメ
モリ20でもとのままであるべきことを示す。1ワード
のみにアクセスするストリング記憶命令の場合は、表4
に示すように、1組のマーク・ビットのみが制御論理1
4により発生される。2ワ一ド以上にアクセスするスト
リング記憶命令の場合は、表5に示すように、制御論理
14は最初及び最後のアクセスの両方について1組のマ
ーク・ビットを計算しなければならない。最初及び最後
のアクセスの間の他の全アクセスについては、すべての
「1」を含む1組のマーク・ビットが使用される。
送られる。「1」は、このバイトがメモリ20で変更さ
れるべきであることを示す。「0」は、このバイトがメ
モリ20でもとのままであるべきことを示す。1ワード
のみにアクセスするストリング記憶命令の場合は、表4
に示すように、1組のマーク・ビットのみが制御論理1
4により発生される。2ワ一ド以上にアクセスするスト
リング記憶命令の場合は、表5に示すように、制御論理
14は最初及び最後のアクセスの両方について1組のマ
ーク・ビットを計算しなければならない。最初及び最後
のアクセスの間の他の全アクセスについては、すべての
「1」を含む1組のマーク・ビットが使用される。
本発明の作用を理解するには、ス) IJソング送の一
例を調べるのが最もよい。第2A図で、メモリの内容を
メモリ2OAのワード1及びワード2、メモリ20Bの
ワード3及びワード4として示す。
例を調べるのが最もよい。第2A図で、メモリの内容を
メモリ2OAのワード1及びワード2、メモリ20Bの
ワード3及びワード4として示す。
ワード1及びワード2はストリングrABCDEJを含
む。この例では、ストリングrABCDEJはワード1
及びワード2のロケーションからワード3及びワード4
のロケーションに転送される。
む。この例では、ストリングrABCDEJはワード1
及びワード2のロケーションからワード3及びワード4
のロケーションに転送される。
現在、ワー143及びワード4は第2のストリングrV
WXYZJを含んでいる。
WXYZJを含んでいる。
ストリング・ロード命令が最初に受は取られたときは、
ワード1のアドレスが計算され、ワード1の内容が取り
出される。このことは第2B図で、バス18Aのメモリ
・バスの内容により示されている。バイト・カウントは
XPCRレジスタ16Aに記憶されていることに留意さ
れたい。ワード1の内容が受は取られ、図示のようにバ
イト回転論理22Aにより左に2バイト回転される。こ
れはレジスタ28Aに記憶される。バイト組合せ論理3
0A及び汎用レジスタ44Aはもとのままである。
ワード1のアドレスが計算され、ワード1の内容が取り
出される。このことは第2B図で、バス18Aのメモリ
・バスの内容により示されている。バイト・カウントは
XPCRレジスタ16Aに記憶されていることに留意さ
れたい。ワード1の内容が受は取られ、図示のようにバ
イト回転論理22Aにより左に2バイト回転される。こ
れはレジスタ28Aに記憶される。バイト組合せ論理3
0A及び汎用レジスタ44Aはもとのままである。
第2C図で、ワード2のアドレスが計算され、次に、図
示のようにメモリ・バス18Bにより取り出される。次
に内容がバイト回転論理22Bにより左に2バイト回転
される。次に、レジスタ26Bの左2バイト及び、バイ
ト組合せ論理30Gからの出力であるバイト回転論理2
2Bの右2バイトについて、図示のようにバイト組合せ
操作が行なわれる。次にバイト組合せ論理30Cの内容
が図示のように汎用レジスタ44Cに記憶される。
示のようにメモリ・バス18Bにより取り出される。次
に内容がバイト回転論理22Bにより左に2バイト回転
される。次に、レジスタ26Bの左2バイト及び、バイ
ト組合せ論理30Gからの出力であるバイト回転論理2
2Bの右2バイトについて、図示のようにバイト組合せ
操作が行なわれる。次にバイト組合せ論理30Cの内容
が図示のように汎用レジスタ44Cに記憶される。
バイト回転輪El 22 Bの内容がレジスタ26Cに
記憶される。ストリング全体が取り出されたことをバイ
ト・カウントが示しているので、最後のステップはレジ
スタ28Dの残りの内容を残りのストリングと組み合わ
せることである。したがって、レジスタ26Dの最も左
側のバイトがバイト組合せ論理30Eにおいて後の0と
組み合わされ、次に内容が図示のように汎用レジスタ・
ファイル44Eに記憶される。汎用レジスタ・ファイル
44Eは、シーケンスを記憶するための連続した2つの
レジスタを含むことに留意されたい。
記憶される。ストリング全体が取り出されたことをバイ
ト・カウントが示しているので、最後のステップはレジ
スタ28Dの残りの内容を残りのストリングと組み合わ
せることである。したがって、レジスタ26Dの最も左
側のバイトがバイト組合せ論理30Eにおいて後の0と
組み合わされ、次に内容が図示のように汎用レジスタ・
ファイル44Eに記憶される。汎用レジスタ・ファイル
44Eは、シーケンスを記憶するための連続した2つの
レジスタを含むことに留意されたい。
次の操作は、汎用レジスタの内容をワード3及びワード
4のメモリに記憶することである(第3A図参照)。第
3B図で、カウントはXPCRレジスタ16Hで5に留
まっている。メモリの最初のワードが含んでいるのが3
バイトだけなので、最初の4バイトを含む汎用レジスタ
の内容は右に1バイト回転され、メモリは、バイト1.
2及び3のみを更新するよう命令される(メモリ・バス
132Hについて示されるバイト参照)。バス62(第
1図)は、どのバイトが更新されるかをメモリ20に示
す線を含む。
4のメモリに記憶することである(第3A図参照)。第
3B図で、カウントはXPCRレジスタ16Hで5に留
まっている。メモリの最初のワードが含んでいるのが3
バイトだけなので、最初の4バイトを含む汎用レジスタ
の内容は右に1バイト回転され、メモリは、バイト1.
2及び3のみを更新するよう命令される(メモリ・バス
132Hについて示されるバイト参照)。バス62(第
1図)は、どのバイトが更新されるかをメモリ20に示
す線を含む。
第3C図で、次のワード4がアドレスされ、データ・ス
トリングの残りの部分がバイト組合せ論理60Jで組み
合わされて、図示のメモリ・バス62Jに供給され、指
示にしたがってバイトを変更する。メモリ2OLはスト
リングの最終転送を示す(第3D図参照)。
トリングの残りの部分がバイト組合せ論理60Jで組み
合わされて、図示のメモリ・バス62Jに供給され、指
示にしたがってバイトを変更する。メモリ2OLはスト
リングの最終転送を示す(第3D図参照)。
前述の例では、文字ストリングはカウントにより指定さ
れた。以下の例では、文字ストリングは文字シーケンス
の終りで終了文字により長さを指定される。しかし、カ
ウント・レジスタ16には実際のストリング自体よりも
大きいカウントをロードしなければならない。比較され
るバイトが終了文字である場合、ストリング・ロード及
びバイト比較命令が次に実行される。第4A図では、メ
モリ20は、文字ストリングrABcDJと終了文字「
0」からなる、転送されるストリングを含む。
れた。以下の例では、文字ストリングは文字シーケンス
の終りで終了文字により長さを指定される。しかし、カ
ウント・レジスタ16には実際のストリング自体よりも
大きいカウントをロードしなければならない。比較され
るバイトが終了文字である場合、ストリング・ロード及
びバイト比較命令が次に実行される。第4A図では、メ
モリ20は、文字ストリングrABcDJと終了文字「
0」からなる、転送されるストリングを含む。
この文字ストリングはメモリ20Mのワード1及び2か
ら、メモリ2ONのワード3及び4に転送される。
ら、メモリ2ONのワード3及び4に転送される。
第4B図では、固定小数点カウント・レジスタ16Mに
数8(転送される6バイトよりも大きい)がロードされ
る。ワード1に対するアドレスが次に計算され、ワード
1の内容がメモリ・バス18M上でアクセスされる。こ
の内容は図示のようにバイト回転論理22Mで左に2バ
イト回転され、レジスタ26Mに記憶される。
数8(転送される6バイトよりも大きい)がロードされ
る。ワード1に対するアドレスが次に計算され、ワード
1の内容がメモリ・バス18M上でアクセスされる。こ
の内容は図示のようにバイト回転論理22Mで左に2バ
イト回転され、レジスタ26Mに記憶される。
第4C図では、メモリ・バス18Nに示すように、ワー
ド2がメモリから取り出され、図示のようにバイト回転
論理22Nで再び左に2バイト回転される。レジスタ2
6Nの左2バイトはバイト組合せ論理30Pでバイト回
転論理22Nの右2バイトと組み合わせられる。バイト
組合せ論理30Pの内容は汎用レジスタ44Pに記憶さ
れる。
ド2がメモリから取り出され、図示のようにバイト回転
論理22Nで再び左に2バイト回転される。レジスタ2
6Nの左2バイトはバイト組合せ論理30Pでバイト回
転論理22Nの右2バイトと組み合わせられる。バイト
組合せ論理30Pの内容は汎用レジスタ44Pに記憶さ
れる。
レジスタ26Pはこのときバイト回転論理22Nの前の
内容を含むようになる。最後のステップはバイト組合せ
論理30Rで、レジスタ26Q(左2バイト)の内容を
バイト回転論理22Qの右2バイトと組み合わせる。終
了文字との肯定的比較がなされたので、固定小数点カウ
ント・レジスタ16Qは更新された。バイト組合せ論理
30Rの内容は次に、44Rに示すように、汎用レジス
タに記憶される。
内容を含むようになる。最後のステップはバイト組合せ
論理30Rで、レジスタ26Q(左2バイト)の内容を
バイト回転論理22Qの右2バイトと組み合わせる。終
了文字との肯定的比較がなされたので、固定小数点カウ
ント・レジスタ16Qは更新された。バイト組合せ論理
30Rの内容は次に、44Rに示すように、汎用レジス
タに記憶される。
再び、第5八図ないし第5D図は、空文字により終了さ
れたストリングを含む汎用レジスタのメモリ・ロケーシ
ョン2ONへの記憶を示す。第5B図では、最初の4バ
イトを含む汎用レジスタ44Sの内容が右に1バイト回
転される。この内容は次にバイト組合せ論理60Sに対
するレジスタ568に置かれる。メモリ・バス62S上
に示される3バイトが更新される。
れたストリングを含む汎用レジスタのメモリ・ロケーシ
ョン2ONへの記憶を示す。第5B図では、最初の4バ
イトを含む汎用レジスタ44Sの内容が右に1バイト回
転される。この内容は次にバイト組合せ論理60Sに対
するレジスタ568に置かれる。メモリ・バス62S上
に示される3バイトが更新される。
第5C図では、レジスタ56Tの内容がバイト回転論理
52T内の残りのシーケンスと組み合わされて、図示の
ようにバイトを更新するためメモリ・バス82T上に置
かれるバイト組合せ論理60Uの内容を形成する。この
ことは第5D図における文字ストリングのメモリ・ロケ
ーション20Wへの転送をもたらす。
52T内の残りのシーケンスと組み合わされて、図示の
ようにバイトを更新するためメモリ・バス82T上に置
かれるバイト組合せ論理60Uの内容を形成する。この
ことは第5D図における文字ストリングのメモリ・ロケ
ーション20Wへの転送をもたらす。
第6図はストリング・ロード命令のための流れ図を示す
。ストリング・ロード命令はステップ100でまず復号
される。ステップ102で、開始バイト・アドレスが計
算される。このことは、そのバイト・アドレスを含むキ
ャッシュまたはメモリ・ワードのアクセスを含む。ステ
ップ104で、ストリングが終了しているかどうかにつ
いて判定がなされる。終了していない場合は、ステップ
106で、開始バイトが左寄せされてレジスタ26に記
憶され、アドレスが増分され、次のワードが取り出され
る。ステップ110で、再び、ストリングの終りに遭遇
したかどうか判定される。遭遇していない場合は、ステ
ップ112で、バイト回転操作が実行され、新たに取り
出されたバイトが、レジスタ26内の前に取り出された
バイトと組み合わせられる。組合せ内容は次に汎用レジ
スタ44に記憶される。回転された内容は次にレジスタ
26に保管される。汎用レジスタ・ポインタ46が増分
され、アドレスが次に増分され、次のワードが取り出さ
れる。ステップ108に戻って、ストリングの終りがア
クセスされ、開始バイトが左寄せされ、最後のバイトが
終了の0と組み合わせられる。内容が次に汎用レジスタ
に記憶される。
。ストリング・ロード命令はステップ100でまず復号
される。ステップ102で、開始バイト・アドレスが計
算される。このことは、そのバイト・アドレスを含むキ
ャッシュまたはメモリ・ワードのアクセスを含む。ステ
ップ104で、ストリングが終了しているかどうかにつ
いて判定がなされる。終了していない場合は、ステップ
106で、開始バイトが左寄せされてレジスタ26に記
憶され、アドレスが増分され、次のワードが取り出され
る。ステップ110で、再び、ストリングの終りに遭遇
したかどうか判定される。遭遇していない場合は、ステ
ップ112で、バイト回転操作が実行され、新たに取り
出されたバイトが、レジスタ26内の前に取り出された
バイトと組み合わせられる。組合せ内容は次に汎用レジ
スタ44に記憶される。回転された内容は次にレジスタ
26に保管される。汎用レジスタ・ポインタ46が増分
され、アドレスが次に増分され、次のワードが取り出さ
れる。ステップ108に戻って、ストリングの終りがア
クセスされ、開始バイトが左寄せされ、最後のバイトが
終了の0と組み合わせられる。内容が次に汎用レジスタ
に記憶される。
ステップ117で、次の命令が復号される。ステップ1
14に戻って、再びストリングの終りをアクセスすると
、メモリ・バスの内容が回転され、後ろの0と組み合わ
され、組合せ論理の内容が汎用レジスタに記憶される。
14に戻って、再びストリングの終りをアクセスすると
、メモリ・バスの内容が回転され、後ろの0と組み合わ
され、組合せ論理の内容が汎用レジスタに記憶される。
次に、処理はステップ116における次の命令に進む。
第7図はストリング記憶命令を示す。ストリング記憶命
令はステップ120で復号される。ステップ122で、
開始バイト・アドレスが次に計算される。これから、変
更されたメモリ・ワードにバイトが記憶されるものと判
断される。これらのデータは汎用レジスタ44から取り
出され、回転されてバイトをそれらの適当な位置でそろ
える。これらのバイトは、特定のバイトを変更するため
のメモリに対する指示と共にメモリに送られる。回転さ
れたデータはレジスタ56に保管される。ステップ12
4で、ストリングの終りに遭遇したかどうか判定される
。遭遇していない場合は、ステップ126で、次のワー
ドに対するアドレスが増分され、汎用ポインタが増分さ
れ、更新されるバイトの数が次に計算される。データが
汎用レジスタ44から取り出され、回転され、組み合わ
され、メモリにもたらされる。回転された内容が次にレ
ジスタ56に保管される。ストリングの終りに遭遇して
いるときは、処理はステ、ブ128に進み、次の命令を
復号する。
令はステップ120で復号される。ステップ122で、
開始バイト・アドレスが次に計算される。これから、変
更されたメモリ・ワードにバイトが記憶されるものと判
断される。これらのデータは汎用レジスタ44から取り
出され、回転されてバイトをそれらの適当な位置でそろ
える。これらのバイトは、特定のバイトを変更するため
のメモリに対する指示と共にメモリに送られる。回転さ
れたデータはレジスタ56に保管される。ステップ12
4で、ストリングの終りに遭遇したかどうか判定される
。遭遇していない場合は、ステップ126で、次のワー
ドに対するアドレスが増分され、汎用ポインタが増分さ
れ、更新されるバイトの数が次に計算される。データが
汎用レジスタ44から取り出され、回転され、組み合わ
され、メモリにもたらされる。回転された内容が次にレ
ジスタ56に保管される。ストリングの終りに遭遇して
いるときは、処理はステ、ブ128に進み、次の命令を
復号する。
第8図はストリング・ロード及びバイト比較命令を示す
。ステップ130で、ストリング・ロード及びバイト比
較命令が復号される。ステップ132で、バイトの開始
アドレスが計算され、このバイトを含むワードがアクセ
スされる。ステップ134で、ストリングの終りに遭遇
したかどうか判定される。遭遇していない場合は、ステ
ップ136で、バイトのどれかが比較バイトと等しいか
どうか判定される。等しくない場合は、ステップ138
で、開始バイトが左寄せされ、次に保管される。アドレ
スが増分され、次のワードがアクセスされる。バイト回
転及び組合せ機能が実行され、内容が汎用レジスタ44
に記憶される。回転された内容は次にレジスタ26に保
管される。ステップ146で、ストリングの終りにアク
セスしたかどうか再び判定される。アクセスしていない
場合は、ステップ148で、バイトのどれかが比較バイ
トに等しいかどうか判定される。等しくない場合は、ス
テップ150で、汎用レジスタ・ポインタ46が増分さ
れ、バイト・アドレスが増分され、次のワードがメモリ
からアクセスされる。バイト回転及び組合せ操作が、汎
用レジスタ44に記憶された内容について実行される。
。ステップ130で、ストリング・ロード及びバイト比
較命令が復号される。ステップ132で、バイトの開始
アドレスが計算され、このバイトを含むワードがアクセ
スされる。ステップ134で、ストリングの終りに遭遇
したかどうか判定される。遭遇していない場合は、ステ
ップ136で、バイトのどれかが比較バイトと等しいか
どうか判定される。等しくない場合は、ステップ138
で、開始バイトが左寄せされ、次に保管される。アドレ
スが増分され、次のワードがアクセスされる。バイト回
転及び組合せ機能が実行され、内容が汎用レジスタ44
に記憶される。回転された内容は次にレジスタ26に保
管される。ステップ146で、ストリングの終りにアク
セスしたかどうか再び判定される。アクセスしていない
場合は、ステップ148で、バイトのどれかが比較バイ
トに等しいかどうか判定される。等しくない場合は、ス
テップ150で、汎用レジスタ・ポインタ46が増分さ
れ、バイト・アドレスが増分され、次のワードがメモリ
からアクセスされる。バイト回転及び組合せ操作が、汎
用レジスタ44に記憶された内容について実行される。
回転された内容はレジスタ26に記憶される。ステップ
140に戻って、開始バイトが左寄せされ、汎用レジス
タ44に記憶される。ステップ142で、バイトのどれ
かが比較バイトと等しいかどうか判定される。
140に戻って、開始バイトが左寄せされ、汎用レジス
タ44に記憶される。ステップ142で、バイトのどれ
かが比較バイトと等しいかどうか判定される。
等しい場合は、処理は最初の一致バイトの数を計算し、
次にバイト・カウント及びフラッグをそれに応して更新
する。処理はステップ159に進み、次の命令を復号す
る。
次にバイト・カウント及びフラッグをそれに応して更新
する。処理はステップ159に進み、次の命令を復号す
る。
ステップ152に戻って、汎用レジスタ46が増分され
、バイト回転及び組合せ操作が、汎用レジスタ44に記
憶された内容について実行される。
、バイト回転及び組合せ操作が、汎用レジスタ44に記
憶された内容について実行される。
ステップ154で、バイトのどれかが比較バイトに等し
いかどうか判定される。等しい場合は、ステップ156
で、最初の一致バイトが計算され、バイト・カウントが
変更され、フラッグがセットされる。ステップ158で
、次の命令が復号される。
いかどうか判定される。等しい場合は、ステップ156
で、最初の一致バイトが計算され、バイト・カウントが
変更され、フラッグがセットされる。ステップ158で
、次の命令が復号される。
第9A図はストリング・ロード及びストリング記憶命令
のための書式を示す。これらのストリング命令を使って
、小ループで符号化される急速なストリング移動を実行
することができる。ストリングの開始バイトのアドレス
は汎用レジスタRA+RBを加算することにより計算さ
れる。ストリング・ロードrlsJの場合は、ストリン
グはレジスタRTから開始してロードされ、次にRT+
1から開始してロードされ、以下、ストリングの終りま
で同様である。ストリング記憶命令rs sJの場合は
、ストリングはレジスタRTから開始して記憶され、次
にRT+ 1から開始して記憶され、以下、ストリング
の終りまで同様である。ストリングの長さは、固定小数
点制御レジスタ(XPCR)と呼ばれるレジスタに含ま
れている。例えば、XPCRに32バイトのカウントが
ロードされる場合は、移動されてレジスタRentに置
かれる32バイト・ブロックの数を表すカウンタが確立
される。原始ストリングの開始アドレスはRsにあり、
宛先ストリングの開始アドレスはレジスタRdにある。
のための書式を示す。これらのストリング命令を使って
、小ループで符号化される急速なストリング移動を実行
することができる。ストリングの開始バイトのアドレス
は汎用レジスタRA+RBを加算することにより計算さ
れる。ストリング・ロードrlsJの場合は、ストリン
グはレジスタRTから開始してロードされ、次にRT+
1から開始してロードされ、以下、ストリングの終りま
で同様である。ストリング記憶命令rs sJの場合は
、ストリングはレジスタRTから開始して記憶され、次
にRT+ 1から開始して記憶され、以下、ストリング
の終りまで同様である。ストリングの長さは、固定小数
点制御レジスタ(XPCR)と呼ばれるレジスタに含ま
れている。例えば、XPCRに32バイトのカウントが
ロードされる場合は、移動されてレジスタRentに置
かれる32バイト・ブロックの数を表すカウンタが確立
される。原始ストリングの開始アドレスはRsにあり、
宛先ストリングの開始アドレスはレジスタRdにある。
32バイト(Rm−Rm+7)には8個の作業レジスタ
が必要である。レジスタRXは、0から始まる現在のイ
ンデックス値を含む。
が必要である。レジスタRXは、0から始まる現在のイ
ンデックス値を含む。
ス) IJソング動かすためのループを第9B図に示す
。
。
Is(ストリング・ロード)命令はストリングの終りを
通り越してレジスタをOで埋め込むので、この命令は、
−度に1ワードずつ比較が行なわれるストリング比較を
実行するため使用することができる。Rsl及びRs2
が2つのストリングの開始アドレスであり、RVがもう
1組の作業レジスタである場合は、第9C図に示すルー
プがこの機能を実行する。
通り越してレジスタをOで埋め込むので、この命令は、
−度に1ワードずつ比較が行なわれるストリング比較を
実行するため使用することができる。Rsl及びRs2
が2つのストリングの開始アドレスであり、RVがもう
1組の作業レジスタである場合は、第9C図に示すルー
プがこの機能を実行する。
空白で終わるストリング(C言語におけるように)の場
合は、ストリング・ロード及びバイト比較r l s
c bJ命令を使用することができる。比較されるバイ
トはXPCR内の異なるフィールドにある。l5cb命
令はXPCR内のバイト含存フィールドを一致バイトの
数に更新するので、この命令に続くスl−IJソング憶
命令は空白文字まで(これを含めて)記憶するだけであ
る。ストリングの長さは空白文字のロケーションにより
決定されるので、レジスタの使用は、Rentが必要と
されない点を除いて、上述の通りである。XPCRが空
白文字をロードされ、バイト・カウントが32であると
して、この機能を実現するためのループを第9D図に示
す。
合は、ストリング・ロード及びバイト比較r l s
c bJ命令を使用することができる。比較されるバイ
トはXPCR内の異なるフィールドにある。l5cb命
令はXPCR内のバイト含存フィールドを一致バイトの
数に更新するので、この命令に続くスl−IJソング憶
命令は空白文字まで(これを含めて)記憶するだけであ
る。ストリングの長さは空白文字のロケーションにより
決定されるので、レジスタの使用は、Rentが必要と
されない点を除いて、上述の通りである。XPCRが空
白文字をロードされ、バイト・カウントが32であると
して、この機能を実現するためのループを第9D図に示
す。
特定の実施例に関連して本発明を説明したが、この説明
は限定的意味に解釈されるものではない。
は限定的意味に解釈されるものではない。
開示された実施例の種々の変更ならびに本発明のその他
の実施例が、本実施例を参照することで当業者には明ら
かになるであろう。したがって、頭書の特許請求の範囲
は、本発明の真の範囲に入る可能性があるそのような変
更または実施例をすべて包含するものと考えられる。
の実施例が、本実施例を参照することで当業者には明ら
かになるであろう。したがって、頭書の特許請求の範囲
は、本発明の真の範囲に入る可能性があるそのような変
更または実施例をすべて包含するものと考えられる。
F9発明の詳細
な説明したように本発明によればワード境界から外れた
可変長データ・シーケンスを扱うことができる。
可変長データ・シーケンスを扱うことができる。
第1図は、本発明のデータ・フローを示すブロック線図
である。 第2A図ないし第2D図は、ストリング・ロード命令の
ための本発明を介するデータ・フローを示す図面である
。 第3八図ないし第3D図はストリング記憶命令のための
データ・フローを示す図面である。 第4A図ないし第4D図はストリング・ロード及びバイ
ト比較命令のためのデータパフローをボす図面である。 第5八図ないし第5D図は、空白で終わる文字ストリン
グに関するストリング記憶命令のためのデータ・フロー
を示す図面である。 第6図はストリング・ロード命令のための流れ図である
。 第7図はストリング記憶命令のための流れ図である。 第8図はストリング・ロード及びバイト比較命令のため
の流れ図である。 第9A図はストリング・ロード及びストリング記憶動作
コード書式の説明図である。 第9B図は、文字ストリングがバイト・カウントにより
指定される、文字ストリング転送動作の一例の図面であ
る。 第9C図は、バイト単位の比較動作を実行するための命
令の一例の図面である。 第9D図は、ストリング・ロード及びバイト比較命令を
使ったバイト比較動作の一例の図面である。 10・・・・命令復号装置、14・・・・制御論理、1
6・・・・固定小数点カウント・レジスタ、20・・・
・メモリ、22.52・・・・バイト回転回路、26.
56・・・・レジスタ、30.60・・・・バイト組合
せ論理、34・・・・バイト比較回路、44・・・・汎
用レジスタ・ファイル。 出願人 インターナショナル、・ビジネス・マシーン
ズ・コーポレーシヨン 復代理人 弁理士 澤 1) 俊 夫 第6図 第7図 Is rLra、+b 5g +j+ra+rb 目3死口 @9A図 1119日図 第9C図 11190■
である。 第2A図ないし第2D図は、ストリング・ロード命令の
ための本発明を介するデータ・フローを示す図面である
。 第3八図ないし第3D図はストリング記憶命令のための
データ・フローを示す図面である。 第4A図ないし第4D図はストリング・ロード及びバイ
ト比較命令のためのデータパフローをボす図面である。 第5八図ないし第5D図は、空白で終わる文字ストリン
グに関するストリング記憶命令のためのデータ・フロー
を示す図面である。 第6図はストリング・ロード命令のための流れ図である
。 第7図はストリング記憶命令のための流れ図である。 第8図はストリング・ロード及びバイト比較命令のため
の流れ図である。 第9A図はストリング・ロード及びストリング記憶動作
コード書式の説明図である。 第9B図は、文字ストリングがバイト・カウントにより
指定される、文字ストリング転送動作の一例の図面であ
る。 第9C図は、バイト単位の比較動作を実行するための命
令の一例の図面である。 第9D図は、ストリング・ロード及びバイト比較命令を
使ったバイト比較動作の一例の図面である。 10・・・・命令復号装置、14・・・・制御論理、1
6・・・・固定小数点カウント・レジスタ、20・・・
・メモリ、22.52・・・・バイト回転回路、26.
56・・・・レジスタ、30.60・・・・バイト組合
せ論理、34・・・・バイト比較回路、44・・・・汎
用レジスタ・ファイル。 出願人 インターナショナル、・ビジネス・マシーン
ズ・コーポレーシヨン 復代理人 弁理士 澤 1) 俊 夫 第6図 第7図 Is rLra、+b 5g +j+ra+rb 目3死口 @9A図 1119日図 第9C図 11190■
Claims (4)
- (1)データをワード単位で転送するよう構成されたデ
ータ処理システムにおいて、単一データ操作命令に応答
して、ワード単位よりも小さい単位で記憶されたデータ
の連続した可変長シーケンスを操作するための装置であ
って、 上記単一操作命令に応答して命令を復号し、コマンド信
号を発生する命令復号手段と、 複数のより小さなデータ単位を含むアドレス可能ワード
としてデータを記憶する記憶手段と、上記命令復号手段
からのコマンドに応答して、上記記憶手段に最初の上記
小さい単位がワード境界に一致しない態様で記憶されて
いる上記連続した可変長シーケンスを、上記記憶手段か
らアクセスする手段と、 上記最初の小さな単位を最初のレジスタ境界上にそろえ
られる態様で上記連続した可変長シーケンスを複数のデ
ータ処理レジスタに供給する手段とを有することを特徴
とするデータ・シーケンス操作装置。 - (2)データをワード単位で転送するよう構成されたデ
ータ処理システムにおいて、単一データ操作命令に応答
して、バイト単位で記憶されたデータの連続した可変長
シーケンスを操作するための装置であって、 上記単一操作命令に応答して命令を復号し、コマンド信
号を発生する命令復号手段と、 複数のバイトを含むアドレス可能ワードとしてデータを
記憶する記憶手段と、 上記命令復号手段からのコマンド信号に応答して、上記
記憶手段に最初の上記バイトがワード境界に一致しない
態様で記憶されている上記連続した可変長シーケンスを
、上記記憶手段からアクセスする手段と、 上記最初のバイトは最初のレジスタ上にそろえられる態
様で上記連続した可変長シーケンスを複数のデータ処理
レジスタに供給する手段とを有することを特徴とするデ
ータ・シーケンス操作装置。 - (3)データをワード単位で転送するよう構成されたデ
ータ処理システムにおいて、単一データ操作命令に応答
して、ワード単位よりも小さな単位で記憶されたデータ
の連続した可変長シーケンスを操作するための装置であ
って、 上記単一操作命令に応答して命令を復号し、コマンド信
号を発生する命令復号手段と、 複数のより小さなデータ単位を含むアドレス可能ワード
としてデータを記憶する記憶手段と、上記命令復号手段
からのコマンド信号に応答して、複数のデータ処理レジ
スタから最初の上記小さい単位が最初のレジスタ境界に
一致している上記連続した可変長シーケンスにアクセス
する手段と、 上記連続した可変長シーケンスを、上記シーケンスの最
初の小さな単位が上記記憶手段の非ワード境界上に記憶
される態様で上記記憶手段に供給する手段とを有するこ
とを特徴とするデータ・シーケンス操作装置。 - (4)データをワード単位で転送するよう構成されたデ
ータ処理システムにおいて、単一データ操作命令に応答
して、バイト単位で記憶されたデータの連続した可変長
シーケンスを操作するための装置であって、 上記単一操作命令に応答して命令を復号し、コマンド信
号を発生する命令復号手段と、 複数のバイトを含むアドレス可能なワードとしてデータ
を記憶する記憶手段と、 上記命令復号手段からのコマンド信号に応答して、複数
のデータ処理レジスタから、最初の上記バイトが最初の
レジスタ境界に一致している連続した可変長シーケンス
にアクセスする手段と、上記連続した可変長シーケンス
を、上記シーケンスの最初のバイトが上記記憶手段の非
ワード境界上に記憶される態様で上記記憶手段に供給す
る手段とを有することを特徴とするデータ・シーケンス
操作装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US25509688A | 1988-10-07 | 1988-10-07 | |
| US255096 | 1988-10-07 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02148239A true JPH02148239A (ja) | 1990-06-07 |
| JPH0743667B2 JPH0743667B2 (ja) | 1995-05-15 |
Family
ID=22966825
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1260386A Expired - Lifetime JPH0743667B2 (ja) | 1988-10-07 | 1989-10-06 | データ処理システム |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP0363176B1 (ja) |
| JP (1) | JPH0743667B2 (ja) |
| DE (1) | DE68925666T2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015519626A (ja) * | 2012-03-15 | 2015-07-09 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 終了文字を有する文字データ・セットの長さを見出す |
| JP2024503638A (ja) * | 2021-01-15 | 2024-01-26 | アーム・リミテッド | メモリコピーサイズ判定命令及びデータ転送命令 |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5193167A (en) * | 1990-06-29 | 1993-03-09 | Digital Equipment Corporation | Ensuring data integrity by locked-load and conditional-store operations in a multiprocessor system |
| CA2045705A1 (en) * | 1990-06-29 | 1991-12-30 | Richard Lee Sites | In-register data manipulation in reduced instruction set processor |
| US5680642A (en) * | 1993-06-25 | 1997-10-21 | At&T Global Information Solutions Company | Method and apparatus for pseudo-aligned transfers of data to memory wherein a re-alignment is performed based on the data byte control header |
| WO1996038783A1 (en) * | 1995-06-01 | 1996-12-05 | Hal Computer Systems, Inc. | Method and apparatus for rotating active instructions in a parallel data processor |
| US6332188B1 (en) * | 1998-11-06 | 2001-12-18 | Analog Devices, Inc. | Digital signal processor with bit FIFO |
| US7818356B2 (en) | 2001-10-29 | 2010-10-19 | Intel Corporation | Bitstream buffer manipulation with a SIMD merge instruction |
| US7272622B2 (en) * | 2001-10-29 | 2007-09-18 | Intel Corporation | Method and apparatus for parallel shift right merge of data |
| US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
| US7685212B2 (en) * | 2001-10-29 | 2010-03-23 | Intel Corporation | Fast full search motion estimation with SIMD merge instruction |
| US7340495B2 (en) | 2001-10-29 | 2008-03-04 | Intel Corporation | Superior misaligned memory load and copy using merge hardware |
| DE50303564D1 (de) | 2003-03-06 | 2006-07-06 | Tyco Electronics Austria Gmbh | Relais mit querschnittserweitertem Kern |
| TWI230357B (en) * | 2003-12-19 | 2005-04-01 | Sunplus Technology Co Ltd | Device and method for writing data in a processor to memory at unaligned location |
| GB2552853B (en) * | 2015-09-17 | 2018-11-21 | Annexin Pharmaceuticals Ab | Purification of Annexin A5 from a composition that includes a calcium ion chelator |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5319728A (en) * | 1976-08-06 | 1978-02-23 | Fujitsu Ltd | Data treansfer processing system |
| JPS59226957A (ja) * | 1983-06-07 | 1984-12-20 | Nec Corp | デ−タ制御システム |
| JPS59229659A (ja) * | 1983-06-09 | 1984-12-24 | Hitachi Ltd | デ−タ処理方式 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3916388A (en) * | 1974-05-30 | 1975-10-28 | Ibm | Shifting apparatus for automatic data alignment |
| US4542456A (en) * | 1982-04-28 | 1985-09-17 | At&T Bell Laboratories | Method and apparatus for performing range checks |
| US4556951A (en) * | 1982-06-06 | 1985-12-03 | Digital Equipment Corporation | Central processor with instructions for processing sequences of characters |
| US4569016A (en) * | 1983-06-30 | 1986-02-04 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system |
| US4814976C1 (en) * | 1986-12-23 | 2002-06-04 | Mips Tech Inc | Risc computer with unaligned reference handling and method for the same |
-
1989
- 1989-10-04 EP EP89310151A patent/EP0363176B1/en not_active Expired - Lifetime
- 1989-10-04 DE DE68925666T patent/DE68925666T2/de not_active Expired - Fee Related
- 1989-10-06 JP JP1260386A patent/JPH0743667B2/ja not_active Expired - Lifetime
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5319728A (en) * | 1976-08-06 | 1978-02-23 | Fujitsu Ltd | Data treansfer processing system |
| JPS59226957A (ja) * | 1983-06-07 | 1984-12-20 | Nec Corp | デ−タ制御システム |
| JPS59229659A (ja) * | 1983-06-09 | 1984-12-24 | Hitachi Ltd | デ−タ処理方式 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015519626A (ja) * | 2012-03-15 | 2015-07-09 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 終了文字を有する文字データ・セットの長さを見出す |
| JP2024503638A (ja) * | 2021-01-15 | 2024-01-26 | アーム・リミテッド | メモリコピーサイズ判定命令及びデータ転送命令 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0363176A2 (en) | 1990-04-11 |
| DE68925666D1 (de) | 1996-03-28 |
| EP0363176A3 (en) | 1991-12-11 |
| EP0363176B1 (en) | 1996-02-14 |
| DE68925666T2 (de) | 1996-09-26 |
| JPH0743667B2 (ja) | 1995-05-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5222225A (en) | Apparatus for processing character string moves in a data processing system | |
| JPH02148239A (ja) | データ処理システム | |
| US6782465B1 (en) | Linked list DMA descriptor architecture | |
| CN101520723B (zh) | 用于装入/移动以及复制指令的处理器、系统和方法 | |
| CA2132762C (en) | Method and apparatus for data compression | |
| US5450605A (en) | Boundary markers for indicating the boundary of a variable length instruction to facilitate parallel processing of sequential instructions | |
| DE3486399T2 (de) | Zentrale Verarbeitungseinheit mit der Fähigkeit, Befehle mit variablen Längen zu unterstützen. | |
| US5612693A (en) | Sliding window data compression using a toroidal bit shift register | |
| US5150119A (en) | Data compression method and apparatus | |
| US3611316A (en) | Indirect indexed searching and sorting | |
| JPS60116228A (ja) | ディジタル信号ストリーム圧縮方法及び圧縮装置 | |
| US9996355B2 (en) | Parsing-enhancement facility | |
| US5081608A (en) | Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields | |
| US6978358B2 (en) | Executing stack-based instructions within a data processing apparatus arranged to apply operations to data items stored in registers | |
| US6388586B1 (en) | Method for reversing the bits of a computer data structure | |
| CN106649217A (zh) | 数据的匹配方法及装置 | |
| JP4520683B2 (ja) | プロセッサ内での動作モードの確立 | |
| US6590898B1 (en) | Method and apparatus for routing data packets | |
| CN1816798B (zh) | 用于包括运算标志的单指令多数据管理的系统、方法和设备 | |
| US4812971A (en) | Central processing unit for a digital computer | |
| US5519860A (en) | Central processor index sort followed by direct record sort and write by an intelligent control unit | |
| US4893235A (en) | Central processing unit for a digital computer | |
| CN100353314C (zh) | 用于执行重复串操作的方法及装置 | |
| US4250548A (en) | Computer apparatus | |
| US6886159B2 (en) | Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus |