JP2001184259A - 演算処理装置及び該装置におけるデータ転送方法 - Google Patents

演算処理装置及び該装置におけるデータ転送方法

Info

Publication number
JP2001184259A
JP2001184259A JP36564599A JP36564599A JP2001184259A JP 2001184259 A JP2001184259 A JP 2001184259A JP 36564599 A JP36564599 A JP 36564599A JP 36564599 A JP36564599 A JP 36564599A JP 2001184259 A JP2001184259 A JP 2001184259A
Authority
JP
Japan
Prior art keywords
instruction
transfer
data transfer
data
unit
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.)
Pending
Application number
JP36564599A
Other languages
English (en)
Inventor
Masaru Shimizu
大 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP36564599A priority Critical patent/JP2001184259A/ja
Publication of JP2001184259A publication Critical patent/JP2001184259A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】データ転送命令を持つ演算処理装置において、
データ転送命令を実行する場合に、データ転送を高速に
行うことができる演算処理装置を提供する。 【解決手段】主記憶のあるアドレスからデータをリード
し、リードしたデータを主記憶の別のアドレスへライト
してデータを転送するデータ転送命令を持つ演算処理装
置100において、データ転送命令を認識し、転送元、
転送先アドレスおよび転送バイト数を抽出する命令デコ
ード部1と、命令デコード部1が抽出した転送元アドレ
スを格納しておく転送元アドレスレジスタ2と、命令デ
コード部が抽出した転送先アドレスを格納しておく転送
先アドレスレジスタ3と、命令デコード部が抽出した転
送バイト数を格納しておく転送バイトレジスタ4と、各
レジスタのデータをもとにデータ転送を行うデータ転送
部5とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、主記憶のあるアド
レスからデータをリードし、リードしたデータを主記憶
の別のアドレスへライトすることでデータを転送するデ
ータ転送命令を持つ演算処理装置及び該装置におけるデ
ータ転送方法に関する。
【0002】
【従来の技術】近年、演算処理装置の技術開発が先行
し、演算処理装置の処理速度が飛躍的に向上している。
これに対し演算処理装置の主記憶として用いられるメモ
リ素子の処理速度はさほど向上していないのが現状であ
り、このメモリの速度が演算処理装置の処理速度を制限
している。キャッシュを搭載するなどの工夫により性能
向上を行っているがキャッシュミスヒットしたケースで
はメモリの読み出しを行わなければならないためメモリ
性能が演算処理装置の処理速度に制限を与える原因とな
っている。メモリリードのみをアウトオブオーダーで行
う技術は存在するが、メモリリード・ライトの連続した
データ転送については存在しないため、従来技術による
データ転送においてはメモリリード命令でメモリリード
したデータを直後のメモリライト命令で使用しなければ
ならない為、メモリリード命令の完了をメモリライト命
令が待たなければならず、後続命令も実行が停止してし
まっておりデータ転送時はアウトオブオーダーの有効性
がなかった。
【0003】
【発明が解決しようとする課題】すなわち、従来の技術
においては、データのリードおよびライトを連続して実
行するデータ転送命令においては、アウトオブオーダー
による処理の高速化を行うことができなかった。したが
って、本発明は、主記憶のあるアドレスからデータをリ
ードし、リードしたデータを主記憶の別のアドレスへラ
イトすることでデータを転送するデータ転送命令を持つ
演算処理装置において、そのデータ転送命令を実行する
場合に、データ転送を高速に行うことができる演算処理
装置及びデータ転送方法を提供することを目的とする。
また、本発明は、データ転送命令を持つ演算処理装置に
おいて、データ転送命令の完了を待つことなく後続処理
を実行可能とし、演算処理装置の高速化を図ることがで
きる演算処理装置及びデータ転送方法を提供することを
他の目的とする。
【0004】
【課題を解決するための手段】上記課題を解決するた
め、請求項1記載の発明は、主記憶のあるアドレスから
データをリードし、リードしたデータを主記憶の別のア
ドレスへライトしてデータを転送するデータ転送命令を
持つ演算処理装置において、データ転送命令を認識し、
転送元、転送先アドレスおよび転送バイト数を抽出する
命令デコード部と、命令デコード部が抽出した転送元ア
ドレスを格納しておく転送元アドレスレジスタと、命令
デコード部が抽出した転送先アドレスを格納しておく転
送先アドレスレジスタと、命令デコード部が抽出した転
送バイト数を格納しておく転送バイトレジスタと、前記
レジスタ群のデータをもとにデータ転送を行うデータ転
送部とを備えていることを特徴としている。
【0005】請求項2記載の発明は、前記データ転送部
によるデータ転送命令の実行処理とは独立して、データ
転送命令以外の命令を処理する命令処理部を備えている
ことを特徴としている。
【0006】請求項3記載の発明は、前記データ転送部
によるデータ転送命令の実行中に、前記命令デコード部
がデータ転送命令以外のメモリアクセス命令を認識した
場合、メモリアクセスアドレスとデータ転送実行中のア
ドレスが重複しているか否かをチェックする重複チェッ
ク部と、アドレスが重複していたときにデータ転送が終
了するまでメモリアクセス命令の実行を停止させる命令
停止部とを備えることを特徴としている。請求項4記載
の発明は、前記データ転送部が、転送バイトレジスタに
記憶されているバイト数が最大データ転送単位を越えて
いる場合、最大データ転送単位で複数回にデータ転送を
分割して行うことを特徴としている。請求項5記載の発
明は、前記転送元アドレスレジスタと、前記転送先アド
レスレジスタと、前記転送バイトレジスタを複数組備え
ていることを特徴としている。
【0007】請求項6記載の発明は、主記憶のあるアド
レスからデータをリードし、リードしたデータを主記憶
の別のアドレスへライトしてデータを転送するデータ転
送命令を持つ演算処理装置におけるデータ転送方法であ
って、命令デコード部によって、データ転送命令を認識
した場合、転送元、転送先アドレスおよび転送バイト数
を抽出し、抽出した転送元アドレス、抽出した転送先ア
ドレス、転送バイト数をそれぞれに対応する複数のレジ
スタに格納し、各レジスタ内のデータをもとに、他の命
令の処理とは独立してデータ転送命令を処理するデータ
転送部によってデータ転送を行うことを特徴としてい
る。
【0008】上記構成によれば、データ転送命令を持つ
演算処理装置において主記憶のあるアドレスから主記憶
の別のアドレスへデータを転送するデータ転送命令を実
行する場合に、データ転送を別回路で行うことにより、
データ転送の完了を待つことなく後続処理が実行可能と
なり、演算処理装置の高速化を図ることができる。
【0009】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。図1は本発明による演算処
理装置100の構成を示すブロック図である。図1に示
す演算処理装置100は、データ転送命令を認識し、転
送元、転送先アドレスおよび転送バイト数を抽出する命
令デコード部1と、抽出された転送元アドレスを格納し
ておく転送元アドレスレジスタ2と、転送先アドレスを
格納しておく転送先アドレスレジスタ3と、転送バイト
数を格納しておく転送バイトレジスタ4と、前記レジス
タ群をもとにデータ転送を行うデータ転送部5と、デー
タ転送命令以外の通常の命令実行を行う命令処理部6
と、図示していないキャッシュおよびメモリ(主記憶)
の制御を行うメモリ・キャッシュ制御部7とから構成さ
れている。ここで、命令デコード部1、転送元アドレス
レジスタ2、転送先アドレスレジスタ3、転送バイトレ
ジスタ4、およびデータ転送部5が、本発明が特徴とす
る主要な構成部分である。
【0010】図1を参照すると、命令デコード部1は、
命令のデコードを行い、デコードした命令がメモリ転送
命令の場合、転送元アドレス、転送先アドレス、転送バ
イト数を抽出し、抽出したデータを、転送元アドレス信
号201、転送先アドレス信号301、および転送バイ
ト数信号401として、転送元アドレスレジスタ2、転
送先アドレスレジスタ3、および転送バイトレジスタ4
にそれぞれ格納する。そして、データ転送起動通知信号
101よってデータ転送部5に起動をかけ、後続命令の
デコードを行う。
【0011】命令デコード部1は、データ転送部5より
出力されるデータ転送実行中フラグ501が“1”の間
にデコードした命令がメモリ転送命令の場合はデータ転
送実行中フラグ501が“0”になるまでメモリ転送命
令を待ち合わせる。また、デコードした命令がメモリリ
ード命令あるいはメモリライト命令などメモリアクセス
命令の場合はメモリアクセスアドレスを抽出し、転送元
アドレスレジスタ2、転送先アドレスレジスタ3、転送
バイトレジスタ4の値を入力として命令デコード部1内
の重複チェック部14にてアドレスが重複していないか
チェックする。その結果、アドレスが重複していなけれ
ば命令実行指示信号102を“1”に遷移させ命令処理
部6に対してメモリアクセス命令の実行を指示する。ア
ドレスが重複していれば命令実行指示信号102を
“0”に遷移させ命令実行を停止し、重複チェック部1
4にてアドレスチェックを繰り返す。
【0012】すなわち、命令デコード部1は、例えば、
データ転送実行中にメモリロード命令をデコードした場
合、重複チェック部14においてメモリロード対象エリ
アが転送先対象エリアと重複するかどうかをチェック
し、重複する場合は重複がなくなるまで命令実行を停止
する。また、データ転送実行中にメモリストア命令をデ
コードした場合、重複チェック部14においてメモリス
トア対象エリアが転送元対象エリアおよび転送先対象エ
リアと重複するかチェックし、重複する場合は重複がな
くなるまで命令実行を停止する。
【0013】転送元アドレスレジスタ2には、命令デコ
ード部1がメモリ転送命令をデコードし、かつ、データ
転送実行中フラグ501が“0”の時に命令デコード部
1にて抽出された転送元アドレスが本レジスタに格納さ
れる。転送先アドレスレジスタ3には、命令デコード部
1がメモリ転送命令をデコードし、かつ、データ転送実
行中フラグ501が“0”の時に命令デコード部1にて
抽出された転送先アドレスが格納される。転送バイトレ
ジスタ4には、命令デコード部1がメモリ転送命令をデ
コードし、かつ、データ転送実行中フラグ501が
“0”の時に命令デコード部1にて抽出された転送バイ
トが格納される。
【0014】データ転送部5は、データ転送起動通知1
01が命令デコード部1より発行されるとデータ転送実
行中フラグ501を“1”にセットし、転送元アドレス
レジスタ2、転送先アドレスレジスタ3、転送バイトレ
ジスタ4内のデータを入力としてメモリ・キャッシュ制
御部7を制御して、転送元アドレスから転送バイトのメ
モリリードを行い、転送先アドレスから転送バイトにリ
ードデータをメモリライトする。ただし、1回に転送可
能な最大バイト数をnとすると、nバイトより多くの転
送を行う場合はnバイト単位でデータ転送を行い、その
都度転送元アドレスレジスタ2,転送先アドレスレジス
タ3の値にnを加算し、転送バイトレジスタ4の値にn
を減算する。残り転送バイトが0になるまでデータ転送
を繰り返し、データ転送終了時はデータ転送実行中フラ
グ501を“0”にリセットする。
【0015】命令処理部6は、データ転送命令以外の命
令を実行するが、命令デコード部1より出力される命令
実行指示102が“0”の場合は命令実行を停止する。
メモリ・キャッシュ制御部7はデータ転送部5および命
令処理部6からのメモリアクセス要求を受け付け、メモ
リアクセスを行う。
【0016】上記構成においては、命令デコード部1で
命令をデコードし、データ転送命令でなければ命令処理
部6で命令が処理されるが、データ転送命令と認識した
場合、データ転送部5によるデータ転送実行中であれば
転送完了まで待ち合わせを行う。命令デコード部1は、
データ転送が完了するかあるいはデータ転送実行中でな
ければ転送元アドレス、転送先アドレス、転送バイト数
を抽出し、それぞれ転送元アドレスレジスタ2、転送先
アドレスレジスタ3、転送バイトレジスタ4に格納し、
データ転送部5を起動する。命令デコード部1では、デ
ータ転送部5起動後は後続命令の処理を行う。
【0017】上述しように、データ転送部5では転送バ
イト数が1度に処理可能な最大転送長nバイトより大き
いか比較し、nバイト以下の場合は転送元アドレスから
転送バイトだけロードし、ロードデータを転送先アドレ
スにストアしデータ転送完了を命令デコード部に通知す
る。nバイトよりも大きい場合は転送元アドレスからn
バイトだけロードし、ロードデータを転送先アドレスに
ストアする。また転送元アドレスレジスタ2および転送
元アドレスレジスタ3をnバイト加算し、転送バイトレ
ジスタをnバイト減算する。上述の処理を繰り返すこと
によりnバイト単位でのデータ転送を行う。
【0018】また、命令デコード部1では、データ転送
命令以外のメモリアクセス命令を認識した場合、データ
転送中の命令との順序性を守るためにメモリアクセス命
令のアドレスとデータ転送中のアドレスを重複チェック
部14によってチェックし、一致している場合はメモリ
アクセス命令の実行を停止し、該当アドレスのデータ転
送が完了するまで命令実行を停止する。
【0019】従って、データ転送命令の実行完了を待つ
ことなく次命令の実行が可能となるため、後続命令でデ
ータ転送対象エリアにアクセスしない場合は演算処理装
置の高速化という効果が得られる。
【0020】図2は図1に示す命令デコード部1の構成
例を示すブロック図である。図2に示す命令デコード部
1は、命令が供給される命令レジスタ11と、命令レジ
スタ11から供給された命令をデコードする命令デコー
ド部12と、データ転送命令の転送元アドレス、転送先
アドレス、転送バイト数を生成し、転送元アドレスレジ
スタ2、転送先アドレスレジスタ3、転送バイトレジス
タ4に出力するとともに、データ転送起動通知101を
出力し、さらにメモリリード、メモリライトなどのメモ
リアクセス命令の場合、メモリアクセスアドレスを抽出
するアドレス・レングス生成部13と、命令がメモリア
クセス命令の場合、アドレス・レングス生成部13によ
り生成されたメモリアクセスアドレスと転送元アドレス
レジスタ2、転送先アドレスレジスタ3および、転送バ
イトレジスタ4を加算したアドレスとを比較する重複チ
ェック部14と、重複チェック部14のチェック結果と
データ転送実行中フラグ501の論理積より命令実行を
抑止するためのアンドゲート16と、アンドゲート16
の論理積結果が“1”であれば命令実行を抑止する命令
抑止部17から構成されている。
【0021】図3は図1のデータ転送部5の構成例を示
すブロック図である。データ転送起動通知101を受け
てデータ転送実行中フラグ501の制御を行い、転送バ
イトレジスタ4を入力として1回のデータ転送バイト数
(データ転送バイト信号511)を算出するデータ転送
制御部51と、転送バイトレジスタ4の値を減算して更
新を行う転送バイト減算部52と、転送元アドレスレジ
スタ2、転送先アドレスレジスタ3のアドレスを加算し
て更新を行うアドレス加算部53と、転送バイト減算部
52およびアドレス加算部53で生成される値を元に転
送元アドレスからデータ転送バイト数(データ転送バイ
ト信号511)で指示されるバイト数をメモリリード
し、転送先アドレスにメモリライトし終了通知信号54
1をデータ転送制御部51に返すロード・ストア制御部
54と、前記ロード・ストア制御部54にてメモリリー
ドしたデータを一時的に保存しておく為のデータレジス
タ群55から構成されている。
【0022】以下、本実施形態の動作について説明す
る。命令デコード部1において命令をデコードし、デコ
ードした命令がデータ転送命令の場合、該命令の転送元
アドレス、転送先アドレス、転送バイト数を抽出し、転
送元アドレスレジスタ2、転送先アドレスレジスタ3、
転送バイトレジスタ4にそれぞれ格納し、データ転送起
動通知101を出力することにより、データ転送部5を
起動する。データ転送部5では命令デコード部1から起
動がかかるとデータ転送実行中フラグ501を“1”に
セットし、転送元アドレスレジスタ2、転送先アドレス
レジスタ3、転送バイトレジスタ4の値を入力として、
転送元アドレスレジスタ2および転送バイトレジスタ4
の値で指示されたバイト数のメモリリードを行う為に、
メモリ・キャッシュ制御部7にメモリリードを指示し、
リードデータをメモリ・キャッシュ制御部7から受け
る。次に転送先アドレスレジスタ3および転送バイトレ
ジスタ4の値で指示されたバイト数のメモリライトを行
う為に、メモリ・キャッシュ制御部7にメモリライトを
指示し、前述したリードデータをメモリライトする。
【0023】データ転送が完了するとデータ転送実行中
フラグ501を“0”にリセットし、データ転送部5の
実行を終了する。データ転送部5が実行中の間、命令デ
コード部1ではデータ転送部5の終了を待つことなく、
後続命令のデコードを行い、命令実行指示102を
“1”に遷移させ命令処理部6に出力することにより後
続命令を実行する。データ転送部5が実行中にデータ転
送命令をデコードした場合はデータ転送命令の実行を停
止し、データ転送実行中フラグ501が“0”になった
らアドレス抽出から実行を開始する。データ転送部5が
実行中にメモリリード命令またはメモリライト命令など
のメモリアクセス命令をデコードした場合はメモリアク
セス命令のアドレスがデータ転送中のアドレスと重複し
ているか重複チェック部14にてチェックを行い、重複
している場合は重複がなくなるまで重複チェックを繰り
返し命令実行指示102を“0”に遷移させ、メモリア
クセス命令の実行を停止する。重複がない場合はデータ
転送命令の完了を待つことなく、命令実行指示102を
“1”に遷移させ命令実行を指示し、命令処理部6にて
メモリアクセス命令が実行される。
【0024】命令デコード部1の動作については図4の
フローチャートに従って実行される。命令デコード部1
では命令レジスタ11から供給される命令を命令デコー
ド部12でデコードし(ステップ401)、データ転送
命令でかつデータ転送実行中フラグ501が“0”なら
ば(ステップ402→403→404)、転送元アドレ
ス、転送先アドレス、転送バイト数をアドレス・レング
ス生成部13で生成して転送元アドレスレジスタ2、転
送先アドレスレジスタ3、転送バイトレジスタ4に格納
し(ステップ405,406,407)、データ転送部
5をデータ転送起動通知101にて起動する(ステップ
408)。
【0025】一方、命令デコード結果がデータ転送命令
でなくかつメモリアクセス命令でもなければ、命令実行
指示102を”1”に遷移させ命令実行指示を出し、命
令処理部6にて命令を実行する(ステップ401→40
2→409→411)。他方、命令デコード結果がメモ
リアクセス命令でかつデータ転送実行中フラグ501が
“0”ならば、同様に命令処理部6にて命令を実行する
(ステップ401→402→409→410→41
1)。命令デコード結果がメモリアクセス命令でかつデ
ータ転送実行中フラグ501が“1”であれば、転送ア
ドレスが競合している場合データ転送処理を待ち合わせ
なければならないため後述するアドレス重複チェックを
行う(ステップ401→402→409→410→41
2)。
【0026】まず、転送元アドレスレジスタ2から転送
元アドレスレジスタ2に転送バイトレジスタ4を加算し
たアドレスまでを転送元対象アドレス範囲と定義し、転
送先アドレスレジスタ3から転送先アドレスレジスタ3
に転送バイトレジスタ4を加算したアドレスまでを転送
先対象アドレス範囲と定義する。メモリアクセス命令が
メモリリード(メモリロード)命令である場合、アドレ
ス・レングス生成部13により抽出された該命令のメモ
リアクセスアドレスと転送先対象アドレス範囲とを重複
チェック部14にて比較し(ステップ412→413→
414)、重複している場合、重複しなくなるまで命令
抑止部17によりメモリリード命令の実行が抑止される
(ステップ414)。重複チェックの結果(ステップ4
14)、重複していない場合は命令実行部6でメモリリ
ード命令が実行される(ステップ415)。
【0027】また、メモリアクセス命令がメモリライト
(メモリストア)命令である場合、アドレス・レングス
生成部13により抽出された該命令のメモリアクセスア
ドレスと転送元対象アドレス範囲および転送先対象アド
レス範囲を重複チェック部14にて比較し(ステップ4
12→416→417)、重複している場合、命令抑止
部17によりメモリライト命令の実行が抑止される(ス
テップ417)。重複チェックの結果(ステップ41
7)、重複していない場合は命令実行部6でメモリライ
ト命令が実行される(ステップ415)。
【0028】なお、データ転送部5実行中に転送元アド
レスレジスタ2、転送先アドレスレジスタ3、転送バイ
トレジスタ4が1回のデータ転送完了毎に更新されるた
め、重複している場合はメモリアクセス命令の実行を抑
止して上述のアドレス重複チェックを繰り返すうちに転
送元アドレスレジスタ2、転送先アドレスレジスタ3、
転送バイトレジスタ4が更新され、その結果重複チェッ
クで重複なしと判定されら命令実行指示102を“1”
に遷移させ命令実行部6に出力してメモリアクセス命令
の実行を開始する(ステップ415)。
【0029】一方、データ転送部5の動作については図
5のフローチャートに従って実行される。データ転送制
御部51がデータ転送起動通知101によりデータ転送
起動を受けるとデータ転送実行中フラグ501を“1”
にする。また、1回に転送可能なバイト数をnバイトと
すると、転送バイトレジスタ4の値とnをデータ転送制
御部51で比較する(ステップ501)。転送バイトレ
ジスタ4がn以下の場合、ロード・ストア制御部54に
て転送元アドレスレジスタ2から転送バイトレジスタ4
で指示されたバイト数のメモリリード(メモリロード)
を行い、リードデータをデータレジスタ群55に格納す
る(ステップ502)。次に転送先アドレスレジスタ3
から転送バイトレジスタ4で指示されたバイト数のメモ
リライト(メモリストア)を行いデータ転送制御部51
に終了通知信号541を返す(ステップ503)。デー
タ転送制御部51ではデータ転送実行中フラグを“0”
にリセットし、データを終了する(ステップ504)。
【0030】一方、転送バイトレジスタ4がnより大き
い場合、ロード・ストア制御部54にて転送元アドレス
レジスタ2からnバイトのメモリロードを行いデータレ
ジスタ群55に格納する(ステップ501→505)。
次に転送先アドレスレジスタ3からnバイトのメモリラ
イトを行いデータ転送制御部51に終了通知信号541
を返す(ステップ506)。その後アドレス加算部53
にて転送元アドレスレジスタ2、転送先アドレスレジス
タ3にnを加算し(ステップ507,508)、さら
に、転送バイト減算部52にて転送バイトレジスタ4か
らnを減算する(ステップ509)。データ転送制御部
51は更新された転送バイトレジスタ4を入力として上
述の作業を繰り返すことにより、全バイトのデータ転送
を行う(ステップ509→501→505→…)。
【0031】このように、データ転送命令を実行する際
には、命令実行部6とは独立したデータ転送部5が単独
で動作するため、データ転送の終了を待つ必要がなくな
り、演算処理装置の高速化を実現している。また、デー
タ転送実行中の後続命令でのメモリアクセス命令ではデ
ータ転送対象アドレスとの重複チェックを行い、重複時
はデータ転送の完了待ちを行うことによりメモリアクセ
スの順序保証を行っている。したがって、後続命令がデ
ータ転送対象メモリのアクセスを行わない場合に演算処
理装置の高速化が図れる。
【0032】次に、図6を参照して、発明の他の実施形
態について説明する。本実施形態は、その基本的構成は
上記の通りであるが、転送元アドレスレジスタ2、転送
先アドレスレジスタ3、転送バイトレジスタ4について
上記の実施の形態と構成が異なっている。その構成を図
6に示す。本図において、前記3つのレジスタを複数持
ち、キューとして使用することにより、連続してデータ
転送命令が発行される度に転送先アドレス、転送元アド
レス、転送バイト数をキューに登録しておき、データ転
送部5はラウンドロビン方式でキューに登録されたデー
タ転送命令を実行していくことにより複数のデータ転送
命令がデータ転送終了を待つことなく高速で実行可能と
なる。
【0033】図6はデータ転送命令の転送元アドレス、
転送先アドレス、転送バイトを登録する為のデータ転送
パラメータキュー60、キューのポインタを制御するた
めのキュー制御部61、登録ポインタ611、実行ポイ
ンタ612から構成されており、命令デコード部1は登
録ポインタ611で示されたキューにデータ転送アドレ
ス、転送バイト数を登録する。登録後、キュー制御部6
1によって登録ポインタ611が加算される。登録ポイ
ンタ611と実行ポインタ612が異なった値になった
とき、データ転送命令がキューに登録されているため、
データ転送部5により実行ポインタ612で示されたキ
ューのデータ転送パラメータを元にデータ転送を行い、
転送時はキュー内の転送アドレス、転送バイトを更新す
る。転送終了時はキュー制御部61によって実行ポイン
タ612が加算され、実行ポインタ611と登録ポイン
タ612が同じ値になった場合、キューは空であるとみ
なし、データ転送部5の実行を終了する。
【0034】
【発明の効果】以上説明したように、データ転送命令を
実行する際には、命令実行部6とは独立したデータ転送
部5が単独で動作するため、データ転送の終了を待つ必
要がなくなり、演算処理装置の高速化を実現している。
また、データ転送実行中の後続命令でのメモリアクセス
命令ではデータ転送対象アドレスとの重複チェックを行
い、重複時はデータ転送の完了待ちを行うことによりメ
モリアクセスの順序保証を行っている。したがって、後
続命令がデータ転送対象メモリのアクセスを行わない場
合に演算処理装置の高速化が図れる。
【図面の簡単な説明】
【図1】 本発明によるデータ転送装置の一実施形態を
示すブロック図
【図2】 図1の命令デコード部1の構成を示すブロッ
ク図
【図3】 図1のデータ転送部5の構成を示すブロック
【図4】 図1および図2に示す命令デコード部1の動
作を示すフローチャート
【図5】 図1および図3に示すデータ転送部5の動作
を示すフローチャート
【図6】 本発明によるデータ転送装置の他の実施形態
を説明するためのブロック図
【符号の説明】
1:命令デコード部,2:転送元アドレスレジスタ,
3:転送先アドレスレジスタ,4:転送バイトレジス
タ,5:データ転送部,6:命令処理部,7:メモリ・
キャッシュ制御部,14:重複チェック部,11:命令
レジスタ,12:命令デコード部,13:アドレス・レ
ングス生成部,14:重複チェック部,16:アンドゲ
ート,17:命令抑止部,51:データ転送制御部,5
2:転送バイト減算部,53:アドレス加算部,54:
ロード・ストア制御部,55:データレジスタ群,6
0:データ転送パラメータキュー,61:キュー制御
部,101:データ転送起動通知信号,102:命令実
行指示信号,201:転送元アドレス信号(対命令デコ
ード部),202:転送元アドレス信号(対データ転送
部),301:転送先アドレス信号(対命令デコード
部),302:転送先アドレス信号(対データ転送
部),401:転送バイト信号(対命令デコード部),
402:転送バイト信号(対データ転送部),501:
データ転送実行中フラグ,505:メモリアクセスアド
レス信号,506:メモリアクセスデータ信号,51
1:データ転送バイト信号,541:終了通知信号,6
11:登録ポインタ,612:実行ポインタ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 主記憶のあるアドレスからデータをリー
    ドし、リードしたデータを主記憶の別のアドレスへライ
    トしてデータを転送するデータ転送命令を持つ演算処理
    装置において、 データ転送命令を認識し、転送元、転送先アドレスおよ
    び転送バイト数を抽出する命令デコード部と、 命令デコード部が抽出した転送元アドレスを格納してお
    く転送元アドレスレジスタと、 命令デコード部が抽出した転送先アドレスを格納してお
    く転送先アドレスレジスタと、 命令デコード部が抽出した転送バイト数を格納しておく
    転送バイトレジスタと、 前記レジスタ群のデータをもとにデータ転送を行うデー
    タ転送部とを備えていることを特徴とする演算処理装
    置。
  2. 【請求項2】 前記データ転送部によるデータ転送命令
    の実行処理とは独立して、データ転送命令以外の命令を
    処理する命令処理部を備えていることを特徴とする請求
    項1記載の演算処理装置。
  3. 【請求項3】 前記データ転送部によるデータ転送命令
    の実行中に、前記命令デコード部がデータ転送命令以外
    のメモリアクセス命令を認識した場合、メモリアクセス
    アドレスとデータ転送実行中のアドレスが重複している
    か否かをチェックする重複チェック部と、 アドレスが重複していたときにデータ転送が終了するま
    でメモリアクセス命令の実行を停止させる命令停止部と
    を備えることを特徴とする請求項1又は2記載の演算処
    理装置。
  4. 【請求項4】 前記データ転送部が、転送バイトレジス
    タに記憶されているバイト数が最大データ転送単位を越
    えている場合、最大データ転送単位で複数回にデータ転
    送を分割して行うことを特徴とする請求項1〜3記載の
    いずれか1項に記載の演算処理装置。
  5. 【請求項5】 前記転送元アドレスレジスタと、前記転
    送先アドレスレジスタと、前記転送バイトレジスタを複
    数組備えていることを特徴とする請求項1〜4記載のい
    ずれか1項に記載の演算処理装置。
  6. 【請求項6】 主記憶のあるアドレスからデータをリー
    ドし、リードしたデータを主記憶の別のアドレスへライ
    トしてデータを転送するデータ転送命令を持つ演算処理
    装置におけるデータ転送方法であって、 命令デコード部によって、データ転送命令を認識した場
    合、転送元、転送先アドレスおよび転送バイト数を抽出
    し、 抽出した転送元アドレス、抽出した転送先アドレス、転
    送バイト数をそれぞれに対応する複数のレジスタに格納
    し、 各レジスタ内のデータをもとに、他の命令の処理とは独
    立してデータ転送命令を処理するデータ転送部によって
    データ転送を行うことを特徴とするデータ転送方法。
JP36564599A 1999-12-22 1999-12-22 演算処理装置及び該装置におけるデータ転送方法 Pending JP2001184259A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36564599A JP2001184259A (ja) 1999-12-22 1999-12-22 演算処理装置及び該装置におけるデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36564599A JP2001184259A (ja) 1999-12-22 1999-12-22 演算処理装置及び該装置におけるデータ転送方法

Publications (1)

Publication Number Publication Date
JP2001184259A true JP2001184259A (ja) 2001-07-06

Family

ID=18484773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36564599A Pending JP2001184259A (ja) 1999-12-22 1999-12-22 演算処理装置及び該装置におけるデータ転送方法

Country Status (1)

Country Link
JP (1) JP2001184259A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172610A (ja) * 2005-12-22 2007-07-05 Internatl Business Mach Corp <Ibm> 半同期メモリ・コピー動作において用いられるアドレス範囲の妥当性
JP2007172609A (ja) * 2005-12-22 2007-07-05 Internatl Business Mach Corp <Ibm> 効率的かつ柔軟なメモリ・コピー動作
US7979637B2 (en) 2005-05-06 2011-07-12 Renesas Electronics Corporation Processor and method for executing data transfer process
JP2021157843A (ja) * 2020-07-20 2021-10-07 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド 命令を実行するための方法、装置、機器及びコンピュータ読み取り可能な記憶媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979637B2 (en) 2005-05-06 2011-07-12 Renesas Electronics Corporation Processor and method for executing data transfer process
JP2007172610A (ja) * 2005-12-22 2007-07-05 Internatl Business Mach Corp <Ibm> 半同期メモリ・コピー動作において用いられるアドレス範囲の妥当性
JP2007172609A (ja) * 2005-12-22 2007-07-05 Internatl Business Mach Corp <Ibm> 効率的かつ柔軟なメモリ・コピー動作
JP2021157843A (ja) * 2020-07-20 2021-10-07 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド 命令を実行するための方法、装置、機器及びコンピュータ読み取り可能な記憶媒体
JP7262520B2 (ja) 2020-07-20 2023-04-21 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 命令を実行するための方法、装置、機器及びコンピュータ読み取り可能な記憶媒体

Similar Documents

Publication Publication Date Title
US9043806B2 (en) Information processing device and task switching method
JP2001184259A (ja) 演算処理装置及び該装置におけるデータ転送方法
JP2000181891A (ja) 共有メモリアクセス順序保証方式
JPH0696007A (ja) Dma転送方式
JPH11184799A (ja) メモリデータ転送方法ならびに装置
JP2876791B2 (ja) 例外処理装置および例外処理方法
JP2000194554A (ja) 演算処理装置
JPH0248733A (ja) 情報処理装置
JPH07114509A (ja) メモリアクセス装置
JP2594140B2 (ja) データ駆動型データ処理装置
JP2000040057A (ja) 計算機システム、バッファ制御装置及び転送方法
JP3161422B2 (ja) マイクロコンピュータ
JP2004062449A (ja) マイクロプロセッサおよびその処理方法
JP3729250B2 (ja) 情報処理装置及び電子機器
JPH03182945A (ja) 主記憶内データ転送方式
JPS62151936A (ja) マイクロプロセツサに内蔵されるキヤツシユ回路
JPH02242337A (ja) 命令プリフェッチ装置
JPH11249959A (ja) キャッシュメモリ制御方法および装置
JPH03127126A (ja) 情報処理装置
JPH02254552A (ja) データ処理装置
JPH0713920A (ja) Dma転送方法
JPH0490038A (ja) データ処理装置
JPS60142450A (ja) 記憶システム
JPS58215779A (ja) デ−タ処理装置
JPS63180171A (ja) 情報処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030603