JP3187539B2 - データ転送装置 - Google Patents
データ転送装置Info
- Publication number
- JP3187539B2 JP3187539B2 JP20139292A JP20139292A JP3187539B2 JP 3187539 B2 JP3187539 B2 JP 3187539B2 JP 20139292 A JP20139292 A JP 20139292A JP 20139292 A JP20139292 A JP 20139292A JP 3187539 B2 JP3187539 B2 JP 3187539B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- byte
- circuit
- data element
- output
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4013—Coupling between buses with data restructuring with data re-ordering, e.g. Endian conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
- Memory System (AREA)
- Communication Control (AREA)
Description
【0001】
【産業上の利用分野】この発明は、主にメモリ相互間や
メモリとデータ処理装置との間のデータ転送に用いるも
のであり、特に異なった長さのデータ要素から構成され
たデータブロックを、そのデータ構造に基づきバイト並
びを変換してデータ転送を行うデータ転送装置に関す
る。
メモリとデータ処理装置との間のデータ転送に用いるも
のであり、特に異なった長さのデータ要素から構成され
たデータブロックを、そのデータ構造に基づきバイト並
びを変換してデータ転送を行うデータ転送装置に関す
る。
【0002】
【従来の技術】既存のCPUは、2バイト長以上のデー
タをメモリに格納する際に、下位データをアドレスの低
い方に、上位データをアドレスの高い方に配置するリト
ルエンディアン方式と、その逆のビッグエンディアン方
式とがある。特に多くの場合,メモリに記憶されるデー
タはバイト単位にアドレスが付与されるので、例えば図
9(a)に示すように、4バイト長のデータ、$WWX
XYYZZ(各アルファベットは1桁の16進数を示
す)をメモリに書き込むとき、リトルエンディアンでは
図9(b)に示すように、ビッグエンディアンでは同図
(c)に示すように配置される。
タをメモリに格納する際に、下位データをアドレスの低
い方に、上位データをアドレスの高い方に配置するリト
ルエンディアン方式と、その逆のビッグエンディアン方
式とがある。特に多くの場合,メモリに記憶されるデー
タはバイト単位にアドレスが付与されるので、例えば図
9(a)に示すように、4バイト長のデータ、$WWX
XYYZZ(各アルファベットは1桁の16進数を示
す)をメモリに書き込むとき、リトルエンディアンでは
図9(b)に示すように、ビッグエンディアンでは同図
(c)に示すように配置される。
【0003】この様に、メモリ上の配置が異なるため、
メモリを介してエンディアンの違った2つのCPUがデ
ータを交換すると、当然ながら間違ったデータが転送さ
れてしまう。
メモリを介してエンディアンの違った2つのCPUがデ
ータを交換すると、当然ながら間違ったデータが転送さ
れてしまう。
【0004】特に、周辺装置とCPUとの間の制御デー
タの交換では、様々な長さのデータを要素とし、複数の
データ要素から構成されたデータブロックが用いられる
ことが多く,データ要素の長さによって配置が変わって
くるため、大きな問題となっていた。
タの交換では、様々な長さのデータを要素とし、複数の
データ要素から構成されたデータブロックが用いられる
ことが多く,データ要素の長さによって配置が変わって
くるため、大きな問題となっていた。
【0005】例えば、データ長が2バイト長に限定さ
れ、かつデータバスの幅が2バイト幅であるならば、デ
ータバスを2つの1バイト幅の信号線群に分け、下位バ
イトと上位バイトを交換して配線するようにすれば良い
が、1バイト長のデータや4バイト長のデータが含まれ
る場合には、正しいデータ順には転送できないことは明
かである。
れ、かつデータバスの幅が2バイト幅であるならば、デ
ータバスを2つの1バイト幅の信号線群に分け、下位バ
イトと上位バイトを交換して配線するようにすれば良い
が、1バイト長のデータや4バイト長のデータが含まれ
る場合には、正しいデータ順には転送できないことは明
かである。
【0006】このため、多くのCPUではプログラムに
よりメモリ上のデータのバイト順を変換している。この
為、周辺装置との間でのデータ交換に余分な処理時間を
要し、周辺装置とCPUとの整合性が問題となることが
多かった。
よりメモリ上のデータのバイト順を変換している。この
為、周辺装置との間でのデータ交換に余分な処理時間を
要し、周辺装置とCPUとの整合性が問題となることが
多かった。
【0007】そこで、従来にあっては、転送データを整
合させる技術がいくつか提案されている。
合させる技術がいくつか提案されている。
【0008】例えば、特開平3−160550号公報に
開示された「エンディアン変換方式」にあっては、ロー
カルプロセッサとメインプロセッサとのエンディアンが
異なっており、両者間のデータ転送を共有メモリを介し
て行う場合に、メインプロセッサと共有メモリの間にデ
ータスワップ制御部と、ワードサイズデータのスワップ
情報を格納するレジスタを備え、スワップすべきデータ
を転送する時にレジスタにスワップ指示を設定し、デー
タスワップ制御部でスワップを実行するものである。
開示された「エンディアン変換方式」にあっては、ロー
カルプロセッサとメインプロセッサとのエンディアンが
異なっており、両者間のデータ転送を共有メモリを介し
て行う場合に、メインプロセッサと共有メモリの間にデ
ータスワップ制御部と、ワードサイズデータのスワップ
情報を格納するレジスタを備え、スワップすべきデータ
を転送する時にレジスタにスワップ指示を設定し、デー
タスワップ制御部でスワップを実行するものである。
【0009】この従来技術は、2つのプロセッサの間で
のデータ転送において、ワードデータのスワップをする
か否かをメインプロセッサが一様なデ−タ構造を持つ通
信デ−タについてスワップ指示を行ない、様々なデ−タ
を含むパラメータデータはスワップしないように指示し
ている。即ち、多量に連続転送されるデータに一様にス
ワップ変換している。
のデータ転送において、ワードデータのスワップをする
か否かをメインプロセッサが一様なデ−タ構造を持つ通
信デ−タについてスワップ指示を行ない、様々なデ−タ
を含むパラメータデータはスワップしないように指示し
ている。即ち、多量に連続転送されるデータに一様にス
ワップ変換している。
【0010】しかしながら、このような技術にあって
は、バイトデータ、ワードデータ、ロングワードデータ
が混在した様々なデータサイズからなるデータ構造体を
転送する場合に、スワップを行うとすれば、メインプロ
セッサが個々のデータ毎にスワップ指示を発行しなけれ
ばならず、高速なデータ転送は困難になっていた。
は、バイトデータ、ワードデータ、ロングワードデータ
が混在した様々なデータサイズからなるデータ構造体を
転送する場合に、スワップを行うとすれば、メインプロ
セッサが個々のデータ毎にスワップ指示を発行しなけれ
ばならず、高速なデータ転送は困難になっていた。
【0011】また、特開平2−141857号公報に開
示された「データ処理システム」は、共通バスで接続さ
れた複数個のデータ処理装置からなるデータ処理システ
ムにおいて、共通バスとデータ処理装置とのインタフェ
ース部分に設けられたデータ構造変換手段と、変換の仕
方をプログラマブルに制御するための制御レジスタを備
え、データ処理装置と共通バスとの間においてデータの
配列構造を整合させて、処理時間を短縮するものであ
る。
示された「データ処理システム」は、共通バスで接続さ
れた複数個のデータ処理装置からなるデータ処理システ
ムにおいて、共通バスとデータ処理装置とのインタフェ
ース部分に設けられたデータ構造変換手段と、変換の仕
方をプログラマブルに制御するための制御レジスタを備
え、データ処理装置と共通バスとの間においてデータの
配列構造を整合させて、処理時間を短縮するものであ
る。
【0012】しかし、このシステムでは転送されるデー
タは均質なデータであり、種々のデータサイズが混在し
たデータの転送については開示されていない。即ち、公
報の第1図のコントロールレジスタに設定されるデータ
は’0’ないし’1’の1ビットの情報であり、複数ビ
ットから構成されていない。したがって、種々のデータ
サイズが混在するならば、複数ビットは必要であるか
ら、このシステムにあっては、様々なデータサイズが混
在するデータ構造体を転送することはできない。
タは均質なデータであり、種々のデータサイズが混在し
たデータの転送については開示されていない。即ち、公
報の第1図のコントロールレジスタに設定されるデータ
は’0’ないし’1’の1ビットの情報であり、複数ビ
ットから構成されていない。したがって、種々のデータ
サイズが混在するならば、複数ビットは必要であるか
ら、このシステムにあっては、様々なデータサイズが混
在するデータ構造体を転送することはできない。
【0013】さらに、特開昭63−263524号公報
に開示された「データ構造変換方式」は、外部記憶装置
と主記憶装置との間に設けられたデータ構造変換装置を
備え、データを転送する場合に、データの構造変換要求
に応じてデータ転送単位毎にデータの構造を変換して転
送するものである。
に開示された「データ構造変換方式」は、外部記憶装置
と主記憶装置との間に設けられたデータ構造変換装置を
備え、データを転送する場合に、データの構造変換要求
に応じてデータ転送単位毎にデータの構造を変換して転
送するものである。
【0014】この方式において、構造変換はレコード内
のデータを指示したアドレスへ移動することであり、あ
る決まったアドレスに並べ換えることによりデータベー
スのベクトル処理が容易となるが、様々なデータ長のデ
ータ要素を含むデータ構造体を正確に転送することはで
きない。
のデータを指示したアドレスへ移動することであり、あ
る決まったアドレスに並べ換えることによりデータベー
スのベクトル処理が容易となるが、様々なデータ長のデ
ータ要素を含むデータ構造体を正確に転送することはで
きない。
【0015】
【発明が解決しようとする課題】以上説明したように、
エンディアン方式の異なる装置間においてデータ転送を
行う従来のデータ転送装置にあっては、均一な長さのデ
ータ要素からなるデータブロックを構造変換して転送す
ることは可能であったが、様々な長さのデータ要素を含
むデータブロックを構造変換して転送することはできな
かった。
エンディアン方式の異なる装置間においてデータ転送を
行う従来のデータ転送装置にあっては、均一な長さのデ
ータ要素からなるデータブロックを構造変換して転送す
ることは可能であったが、様々な長さのデータ要素を含
むデータブロックを構造変換して転送することはできな
かった。
【0016】また、データを転送する際には、プログラ
ムにより構造変換し、又はデータ要素毎に与えられる指
示にしたがって構造変換していたため、構造変換にかか
る処理時間が長くなり、高速なデータ転送が困難になっ
ていた。
ムにより構造変換し、又はデータ要素毎に与えられる指
示にしたがって構造変換していたため、構造変換にかか
る処理時間が長くなり、高速なデータ転送が困難になっ
ていた。
【0017】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、エンディアン
形式の異なる装置間において、様々な長さのデータ要素
からなるデータブロックのエンディアン変換ならびに転
送をプログラムによらず可能とし、データ転送の高速化
を達成し得るデータ転送装置を提供することにある。
たものであり、その目的とするところは、エンディアン
形式の異なる装置間において、様々な長さのデータ要素
からなるデータブロックのエンディアン変換ならびに転
送をプログラムによらず可能とし、データ転送の高速化
を達成し得るデータ転送装置を提供することにある。
【0018】
【課題を解決するための手段】上記目的を達成するため
に、この発明は、異なる長さのデータ要素が複数含まれ
てなるデータ構造のデータブロックを、設定されたデー
タ長毎に転送元から受ける入力手段と、前記入力手段で
受けたデータをデータ要素に組み立て、組み立てたデー
タ要素を転送先のエンディアン形式に構造変換する変換
手段と、前記変換手段によって構造変換されたデータ要
素を、設定されたデータ長毎に転送先へ与える出力手段
と、転送するデータブロックのデータ構造を記憶する第
1の記憶手段と、転送元のエンディアンと転送先のエン
ディアンを記憶する第2の記憶手段と、前記第1の記憶
手段に記憶されたデータ構造にしたがって、前記変換手
段における組み立て処理を制御し、前記第2の記憶手段
に記憶されたエンディアンにしたがって前記変換手段に
おける変換処理を制御し、前記入力手段と前記出力手段
におけるデータの入出力を制御する制御手段とから構成
される。
に、この発明は、異なる長さのデータ要素が複数含まれ
てなるデータ構造のデータブロックを、設定されたデー
タ長毎に転送元から受ける入力手段と、前記入力手段で
受けたデータをデータ要素に組み立て、組み立てたデー
タ要素を転送先のエンディアン形式に構造変換する変換
手段と、前記変換手段によって構造変換されたデータ要
素を、設定されたデータ長毎に転送先へ与える出力手段
と、転送するデータブロックのデータ構造を記憶する第
1の記憶手段と、転送元のエンディアンと転送先のエン
ディアンを記憶する第2の記憶手段と、前記第1の記憶
手段に記憶されたデータ構造にしたがって、前記変換手
段における組み立て処理を制御し、前記第2の記憶手段
に記憶されたエンディアンにしたがって前記変換手段に
おける変換処理を制御し、前記入力手段と前記出力手段
におけるデータの入出力を制御する制御手段とから構成
される。
【0019】
【作用】上記構成において、この発明は、様々な長さの
データ要素をデータ要素毎に組み立て、組み立てたデー
タ要素を転送先のエンディアン形式に構造変換して転送
するようにしている。
データ要素をデータ要素毎に組み立て、組み立てたデー
タ要素を転送先のエンディアン形式に構造変換して転送
するようにしている。
【0020】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
する。
【0021】図1は本発明の第1の実施例に係わるデー
タ転送装置の構成を示す図である。なお、以下に示す実
施例にあっては、第1ないし第2のシステムバスのデー
タ幅を2バイト幅とする。また、扱うデータサイズは1
バイト長、2バイト長、4バイト長の3種とする。
タ転送装置の構成を示す図である。なお、以下に示す実
施例にあっては、第1ないし第2のシステムバスのデー
タ幅を2バイト幅とする。また、扱うデータサイズは1
バイト長、2バイト長、4バイト長の3種とする。
【0022】図1において、データ転送装置1の制御回
路10は入力回路11、セレクト回路12、出力回路1
5、データ構造保持回路16を制御する信号を発生す
る。
路10は入力回路11、セレクト回路12、出力回路1
5、データ構造保持回路16を制御する信号を発生す
る。
【0023】入力回路11の入力は第1システムバス2
に接続され、第1システムバス2に接続されたメモリ5
からデータを読み出すためのアドレスを保持、更新する
アドレスカウンタを内蔵している。入力手段11の出力
はセレクタ12、バイトスワップ回路13、ワードスワ
ップ回路14にそれぞれ接続されている。入力回路11
は、制御手段10からの読み出し要求を受けると、アド
レスカウンタの値を第1システムバス2に出力し、メモ
リ5から読み出されたデータを取り込む。また、2バイ
トのデータを読み出したことからアドレスカウンタを2
つ増加する。
に接続され、第1システムバス2に接続されたメモリ5
からデータを読み出すためのアドレスを保持、更新する
アドレスカウンタを内蔵している。入力手段11の出力
はセレクタ12、バイトスワップ回路13、ワードスワ
ップ回路14にそれぞれ接続されている。入力回路11
は、制御手段10からの読み出し要求を受けると、アド
レスカウンタの値を第1システムバス2に出力し、メモ
リ5から読み出されたデータを取り込む。また、2バイ
トのデータを読み出したことからアドレスカウンタを2
つ増加する。
【0024】セレクト回路12は制御回路10から指示
を受け、入力回路11の出力、バイトスワップ回路13
の出力、ワードスワップ回路14の第1および第2の出
力の何れか1つを選択する機能を有する。
を受け、入力回路11の出力、バイトスワップ回路13
の出力、ワードスワップ回路14の第1および第2の出
力の何れか1つを選択する機能を有する。
【0025】バイトスワップ回路13は、入力回路11
から与えられた2バイト長からなるデ−タ要素に対し
て、上位側の1バイトのデ−タ要素を下位側に配置転換
し、下位側の1バイトのデ−タ要素を上位側に配置転換
する。
から与えられた2バイト長からなるデ−タ要素に対し
て、上位側の1バイトのデ−タ要素を下位側に配置転換
し、下位側の1バイトのデ−タ要素を上位側に配置転換
する。
【0026】ワードスワップ回路14は、4バイト長か
らなるデータ要素(例えば、1バイト長のデータ要素
A,B,C,Dからなる4バイト長のデータ要素ABC
D)における上位側の2バイトのデータ要素(AB)に
対して、上位側の1バイトのデータ要素(A)を下位側
に配置転換し、下位側の1バイトのデータ要素(B)を
上位側に配置転換して、上位側の2バイトのデータ要素
(AB)の配列を(BA)とする。さらに、同じ4バイ
ト長からなるデータ要素(ABCD)における下位側の
2バイトのデータ要素(CD)に対して、上位側の1バ
イトのデータ要素(C)を下位側に配置転換し、下位側
の1バイトのデータ要素(D)を上位側に配置転換し
て、下位側の2バイトのデ−タ要素(CD)の配列を
(DC)とする。これにより、ワードスワップ回路14
は、4バイト長のデ−タ要素(ABCD)を4バイト長
のデータ要素(BADC)に配置転換する。
らなるデータ要素(例えば、1バイト長のデータ要素
A,B,C,Dからなる4バイト長のデータ要素ABC
D)における上位側の2バイトのデータ要素(AB)に
対して、上位側の1バイトのデータ要素(A)を下位側
に配置転換し、下位側の1バイトのデータ要素(B)を
上位側に配置転換して、上位側の2バイトのデータ要素
(AB)の配列を(BA)とする。さらに、同じ4バイ
ト長からなるデータ要素(ABCD)における下位側の
2バイトのデータ要素(CD)に対して、上位側の1バ
イトのデータ要素(C)を下位側に配置転換し、下位側
の1バイトのデータ要素(D)を上位側に配置転換し
て、下位側の2バイトのデ−タ要素(CD)の配列を
(DC)とする。これにより、ワードスワップ回路14
は、4バイト長のデ−タ要素(ABCD)を4バイト長
のデータ要素(BADC)に配置転換する。
【0027】したがって、セレクト回路12とバイトス
ワップ回路13及びワードスワップ回路14とは、デー
タ要素の構造を変換する手段として機能し、データ要素
の構造変換を行わない場合には、前記入力回路11で受
けて組み立てられたデータ要素をセレクト回路12で選
択出力し、2バイト長のデータ要素を構造変換する場合
には、バイトスワップ回路13によって配置転換された
データ要素をセレクト回路12で選択出力し、4バイト
長のデータ要素を構造変換する場合には、ワードスワッ
プ回路14によって配置転換された4バイト長のデータ
要素(BADC)における下位側の2バイトのデータ要
素(DC)をセレクト回路12で選択出力した後、続け
て上位側の2バイトのデータ要素(BA)を選択出力す
る。これにより、4バイト長のデータ要素(ABCD)
の配列は(DCBA)となり、4バイト長のデ−タ要素
におけるバイト配列が反転される。
ワップ回路13及びワードスワップ回路14とは、デー
タ要素の構造を変換する手段として機能し、データ要素
の構造変換を行わない場合には、前記入力回路11で受
けて組み立てられたデータ要素をセレクト回路12で選
択出力し、2バイト長のデータ要素を構造変換する場合
には、バイトスワップ回路13によって配置転換された
データ要素をセレクト回路12で選択出力し、4バイト
長のデータ要素を構造変換する場合には、ワードスワッ
プ回路14によって配置転換された4バイト長のデータ
要素(BADC)における下位側の2バイトのデータ要
素(DC)をセレクト回路12で選択出力した後、続け
て上位側の2バイトのデータ要素(BA)を選択出力す
る。これにより、4バイト長のデータ要素(ABCD)
の配列は(DCBA)となり、4バイト長のデ−タ要素
におけるバイト配列が反転される。
【0028】出力回路15はその出力が第2システムバ
ス3に接続され、第2システムバス3に接続されたメモ
リ6に書き込むためのアドレスを保持、更新するアドレ
スカウンタを内蔵している。出力回路15の入力はセレ
クト回路12の出力に接続されている。出力回路15は
制御回路10からの書き出し要求を受けると、アドレス
カウンタの値およびセレクト回路12が出力しているデ
ータを第2システムバス3に出力し、メモリ6への書き
込みを行う。同時にアドレスカウンタを2つ増加する。
ス3に接続され、第2システムバス3に接続されたメモ
リ6に書き込むためのアドレスを保持、更新するアドレ
スカウンタを内蔵している。出力回路15の入力はセレ
クト回路12の出力に接続されている。出力回路15は
制御回路10からの書き出し要求を受けると、アドレス
カウンタの値およびセレクト回路12が出力しているデ
ータを第2システムバス3に出力し、メモリ6への書き
込みを行う。同時にアドレスカウンタを2つ増加する。
【0029】データ構造保持回路16は、データ転送装
置1が転送するデータの構造を示す値を保持し、入力回
路11が取り込んでいるデータのサイズを制御回路10
に指示する。
置1が転送するデータの構造を示す値を保持し、入力回
路11が取り込んでいるデータのサイズを制御回路10
に指示する。
【0030】入力エンディアン保持回路17、出力エン
ディアン保持回路18は、それぞれ入力回路11及び出
力回路15が取り扱うエンディアンを指示する値を保持
する。
ディアン保持回路18は、それぞれ入力回路11及び出
力回路15が取り扱うエンディアンを指示する値を保持
する。
【0031】排他的論理和(Ex−OR)ゲート19
は、入力エンディアン保持回路17と出力エンディアン
保持回路18の値が同一の時は論理”0”を、異なる時
は論理”1”をエンディアン不一致信号として出力し、
この信号は制御回路10に入力される。
は、入力エンディアン保持回路17と出力エンディアン
保持回路18の値が同一の時は論理”0”を、異なる時
は論理”1”をエンディアン不一致信号として出力し、
この信号は制御回路10に入力される。
【0032】データブロック長保持回路20は、転送す
べきデータブロックの残量を保持するものであって、入
力回路11がデータを取り込んだデータ数により残量を
減少させ、残量がゼロになったならばそれを制御回路1
0に通知する。
べきデータブロックの残量を保持するものであって、入
力回路11がデータを取り込んだデータ数により残量を
減少させ、残量がゼロになったならばそれを制御回路1
0に通知する。
【0033】入力回路11のアドレスカウンタ、出力回
路15のアドレスカウンタ、データ構造保持回路16の
データ構造値、入力エンディアン保持回路17、出力エ
ンディアン保持回路18、データブロック長保持回路2
0は、それぞれCPU4により保持内容が設定される。
路15のアドレスカウンタ、データ構造保持回路16の
データ構造値、入力エンディアン保持回路17、出力エ
ンディアン保持回路18、データブロック長保持回路2
0は、それぞれCPU4により保持内容が設定される。
【0034】図2はデータ構造を指示する制御データの
構造を示す図である。
構造を示す図である。
【0035】図2において制御データは、転送データの
各1バイトに対応して2ビットのフィールドが割り当て
られ、転送される順に下位ビットから割り付けられてい
る。2ビットの値、”00”は1バイト長データ、”0
1”は2バイト長データ、”10”は4バイト長データ
を表すように符号化されている。例えば図3(a)に示
すデータ構造を示す制御データは図3(e)に示すよう
に、”0000 1010 1010 0101”(2
進数)で表される。
各1バイトに対応して2ビットのフィールドが割り当て
られ、転送される順に下位ビットから割り付けられてい
る。2ビットの値、”00”は1バイト長データ、”0
1”は2バイト長データ、”10”は4バイト長データ
を表すように符号化されている。例えば図3(a)に示
すデータ構造を示す制御データは図3(e)に示すよう
に、”0000 1010 1010 0101”(2
進数)で表される。
【0036】このような構成において、CPU4はデー
タ転送に先だって、まず、入力回路11のアドレスカウ
ンタ、出力回路15のアドレスカウンタ、データ構造保
持回路16のデータ構造値、入力エンディアン保持回路
17、出力エンディアン保持回路18、データブロック
長保持回路20をそれぞれ設定する。
タ転送に先だって、まず、入力回路11のアドレスカウ
ンタ、出力回路15のアドレスカウンタ、データ構造保
持回路16のデータ構造値、入力エンディアン保持回路
17、出力エンディアン保持回路18、データブロック
長保持回路20をそれぞれ設定する。
【0037】一例として、設定する値を以下に示す。ま
た、転送されるデータブロックの構造は図3に示すもの
とする。なお、”$”記号は16進数を示し、’B’記
号は2進数を示すものとする。
た、転送されるデータブロックの構造は図3に示すもの
とする。なお、”$”記号は16進数を示し、’B’記
号は2進数を示すものとする。
【0038】入力アドレス:$1000 出力アドレス:$2000 データ構造値:B0000101010100101 入力エンディアン:リトルエンディアン 出力エンディアン:ビッグエンディアン データ長:8バイト 以下に、動作を手順を追って説明する。
【0039】データ構造保持回路16は、1回目の読み
出しデータに対応して2バイト分のデータ構造値の下位
4ビット(”0101”)を出力する。制御回路10は
データ残量がゼロでないことから、入力回路11に取り
込み要求を出力する。入力回路11は第1システムバス
2にアドレス$1000を出力し、メモリ5からデータ
を読み出す。このデータは$AABBである。入力回路
11のアドレスカウンタは2バイト分だけインクリメン
トされて$1002となる。
出しデータに対応して2バイト分のデータ構造値の下位
4ビット(”0101”)を出力する。制御回路10は
データ残量がゼロでないことから、入力回路11に取り
込み要求を出力する。入力回路11は第1システムバス
2にアドレス$1000を出力し、メモリ5からデータ
を読み出す。このデータは$AABBである。入力回路
11のアドレスカウンタは2バイト分だけインクリメン
トされて$1002となる。
【0040】Ex−ORゲート19は入力エンディアン
と出力エンディアンが異なることからエンディアン不一
致信号(=1)を出力する。制御回路10はデータ構造
値(”0101”)とエンディアン不一致信号を受け取
り、2バイト長データのスワップが必要であると判断
し、セレクト回路12にバイトスワップ回路13の出力
を選択するよう指示する。入力回路11が読み出した値
は、バイトスワップ手段により変換されて$BBAAと
なり、これがセレクト回路12により出力回路15に与
えられる。制御回路10は入力回路11の読み出し完了
を受けると、出力回路15に書き込み要求を出す。ま
た、読み出しが終了したことを受けたデータブロック長
保持回路20は、2バイト分デクリメントされて”6”
となる。
と出力エンディアンが異なることからエンディアン不一
致信号(=1)を出力する。制御回路10はデータ構造
値(”0101”)とエンディアン不一致信号を受け取
り、2バイト長データのスワップが必要であると判断
し、セレクト回路12にバイトスワップ回路13の出力
を選択するよう指示する。入力回路11が読み出した値
は、バイトスワップ手段により変換されて$BBAAと
なり、これがセレクト回路12により出力回路15に与
えられる。制御回路10は入力回路11の読み出し完了
を受けると、出力回路15に書き込み要求を出す。ま
た、読み出しが終了したことを受けたデータブロック長
保持回路20は、2バイト分デクリメントされて”6”
となる。
【0041】出力回路15はアドレス$2000とデー
タ$BBAAを第2システムバス3に出力してメモリ6
に書き込む。出力回路15の書き込み終了を受けて、デ
ータ構造保持回路16は次の2バイト分のデータ構造値
を出力する。この例ではB1010が出力される。
タ$BBAAを第2システムバス3に出力してメモリ6
に書き込む。出力回路15の書き込み終了を受けて、デ
ータ構造保持回路16は次の2バイト分のデータ構造値
を出力する。この例ではB1010が出力される。
【0042】制御回路10はデータ残量がゼロでないこ
とから、入力回路11に次のデータの読み込みを指示す
る。第1システムバス2ではアドレス$1002からデ
ータ$2233が読み出される。データ構造値がB10
10であり4バイト長データを示していることから、読
み出されたデータ($2233)はワードスワップ回路
14に入力される。
とから、入力回路11に次のデータの読み込みを指示す
る。第1システムバス2ではアドレス$1002からデ
ータ$2233が読み出される。データ構造値がB10
10であり4バイト長データを示していることから、読
み出されたデータ($2233)はワードスワップ回路
14に入力される。
【0043】制御回路10は、更に次の2バイトの読み
出しを入力回路11に指示し、第1システムバス2では
アドレス$1004からデータ$0011が読み出され
る。読み出されたデータ($0011)はワードスワッ
プ回路14に入力される。この状態にあっては、ワード
スワップ回路14には$00112233が蓄積された
ことになる。ワードスワップ回路14の第1の出力は$
1100、第2の出力は$3322が出力される。
出しを入力回路11に指示し、第1システムバス2では
アドレス$1004からデータ$0011が読み出され
る。読み出されたデータ($0011)はワードスワッ
プ回路14に入力される。この状態にあっては、ワード
スワップ回路14には$00112233が蓄積された
ことになる。ワードスワップ回路14の第1の出力は$
1100、第2の出力は$3322が出力される。
【0044】次に、制御回路10はセレクト回路12に
ワードスワップ回路14の第1の出力を選択するように
指示し、出力回路15に書き込み要求出す。出力回路1
5はアドレス$2002に$1100を書き込む。デー
タ構造保持回路16は書き込み終了を受けて、データ構
造値を更新し、B1010を出力する。
ワードスワップ回路14の第1の出力を選択するように
指示し、出力回路15に書き込み要求出す。出力回路1
5はアドレス$2002に$1100を書き込む。デー
タ構造保持回路16は書き込み終了を受けて、データ構
造値を更新し、B1010を出力する。
【0045】制御回路10は更にセレクト回路12にワ
ードスワップ回路14の第2の出力を選択するように指
示し、出力回路15に書き込み要求を出す。出力回路1
5はアドレス$2004に$3322を書き込む。デー
タ構造保持回路16は書き込み終了を受けて、データ構
造値を更新し、次の2バイト分のデータ構造であるB0
000を出力する。
ードスワップ回路14の第2の出力を選択するように指
示し、出力回路15に書き込み要求を出す。出力回路1
5はアドレス$2004に$3322を書き込む。デー
タ構造保持回路16は書き込み終了を受けて、データ構
造値を更新し、次の2バイト分のデータ構造であるB0
000を出力する。
【0046】データ残量は2であるので、制御回路10
は入力回路11に次のデータの取り込みを要求する。こ
れにより、入力回路11はアドレス$1006のデータ
$EFCDを取り込む。データ残量はこれによりゼロに
なり、データ転送終了を制御回路10に通知する。
は入力回路11に次のデータの取り込みを要求する。こ
れにより、入力回路11はアドレス$1006のデータ
$EFCDを取り込む。データ残量はこれによりゼロに
なり、データ転送終了を制御回路10に通知する。
【0047】制御回路10はデータ構造値がB0000
であるから、1バイト長データを取り込んだことが判断
される。1バイト長データは変換を必要としないので、
セレクト回路12に入力回路11の値を選択するよう指
示し、セレクト回路12は$EFCDを出力回路15に
与える。
であるから、1バイト長データを取り込んだことが判断
される。1バイト長データは変換を必要としないので、
セレクト回路12に入力回路11の値を選択するよう指
示し、セレクト回路12は$EFCDを出力回路15に
与える。
【0048】次に、制御回路10は出力回路15に書き
込み要求を出す。出力回路15はアドレス$2006に
データ$EFCDを書き込む。制御回路10は出力回路
15の動作終了を待ってCPU4にデータ転送完了を通
知する。
込み要求を出す。出力回路15はアドレス$2006に
データ$EFCDを書き込む。制御回路10は出力回路
15の動作終了を待ってCPU4にデータ転送完了を通
知する。
【0049】以上の手順により、図3に示すように1個
の2バイト長データ、1個の4バイト長データ、2個の
1バイト長データが転送されたことになる。メモリ内の
データ配置を図3に示す。同図(a)は入力側エンディ
アンに合わせて配置されたデータを、同図(b)は出力
側に転送されたデータを示す。図3から明らかなよう
に、同図(b)は出力側エンディアンに適合した配置を
持っている。
の2バイト長データ、1個の4バイト長データ、2個の
1バイト長データが転送されたことになる。メモリ内の
データ配置を図3に示す。同図(a)は入力側エンディ
アンに合わせて配置されたデータを、同図(b)は出力
側に転送されたデータを示す。図3から明らかなよう
に、同図(b)は出力側エンディアンに適合した配置を
持っている。
【0050】次に、入力側エンディアンと出力側エンデ
ィアンが同一である場合の動作を、次の値が設定された
ものとして、手順を追って説明する。
ィアンが同一である場合の動作を、次の値が設定された
ものとして、手順を追って説明する。
【0051】入力アドレス:$1000 出力アドレス:$2000 データ構造値:B0000101010100101 入力エンディアン:リトルエンディアン 出力エンディアン:リトルエンディアン データ長:8バイト データ構造保持回路16は1回目の読み出しデータに対
応して2バイト分のデータ構造値の下位4ビット(”0
101”)を出力する。制御回路10はデータ残量がゼ
ロでないことから、入力回路11に取り込み要求を出力
する。入力回路11は第1システムバス2にアドレス$
1000を出力し、メモリ5からデータを読み出す。こ
のデータは$AABBとなる。入力回路11のアドレス
カウンタは2バイト分だけインクリメントされ$100
2となる。Ex−ORゲート19は入力エンディアンと
出力エンディアンが同一であることからエンディアン不
一致信号は出力されない。このため、制御回路10はデ
ータ構造値が”0101”であるが、エンディアン不一
致信号が入力されないので構造変換は不要と判断し、セ
レクト回路12に入力回路11の値を選択するよう指示
し、セレクト回路12は$AABBを出力回路15に与
える。
応して2バイト分のデータ構造値の下位4ビット(”0
101”)を出力する。制御回路10はデータ残量がゼ
ロでないことから、入力回路11に取り込み要求を出力
する。入力回路11は第1システムバス2にアドレス$
1000を出力し、メモリ5からデータを読み出す。こ
のデータは$AABBとなる。入力回路11のアドレス
カウンタは2バイト分だけインクリメントされ$100
2となる。Ex−ORゲート19は入力エンディアンと
出力エンディアンが同一であることからエンディアン不
一致信号は出力されない。このため、制御回路10はデ
ータ構造値が”0101”であるが、エンディアン不一
致信号が入力されないので構造変換は不要と判断し、セ
レクト回路12に入力回路11の値を選択するよう指示
し、セレクト回路12は$AABBを出力回路15に与
える。
【0052】制御回路10は入力回路11の読み出し完
了を受けると、出力回路15に書き込み要求を出す。ま
た、データブロック長保持回路20は読み出しが終了し
たことを受けて、2バイト分デクリメントして”6”と
なる。
了を受けると、出力回路15に書き込み要求を出す。ま
た、データブロック長保持回路20は読み出しが終了し
たことを受けて、2バイト分デクリメントして”6”と
なる。
【0053】出力回路15はアドレス$2000とデー
タ$AABBを第2システムバス3に出力してメモリ6
に書き込む。出力回路15の書き込み終了を受けて、デ
ータ構造保持回路16は次の2バイト分のデータ構造値
を出力する。この例ではB1010が出力される。
タ$AABBを第2システムバス3に出力してメモリ6
に書き込む。出力回路15の書き込み終了を受けて、デ
ータ構造保持回路16は次の2バイト分のデータ構造値
を出力する。この例ではB1010が出力される。
【0054】以上の動作が、データブロック長の残量が
ゼロになるまで繰り返される。すなわち、データ構造値
がいかなる値を示していても、入出力エンディアンが一
致しているときにはデータ構造変換が行われない。
ゼロになるまで繰り返される。すなわち、データ構造値
がいかなる値を示していても、入出力エンディアンが一
致しているときにはデータ構造変換が行われない。
【0055】図4はこの発明の第2の実施例に係わるデ
ータ転送装置の構成を示す図である。
ータ転送装置の構成を示す図である。
【0056】上述した第1の実施例では、データ構造制
御データをCPU4が与えるように構成されていたが、
転送するデータの一部にこの制御データを配置すること
ができる。この実施例を図4に示す構成並びに図5に示
すデータを用いて説明する。
御データをCPU4が与えるように構成されていたが、
転送するデータの一部にこの制御データを配置すること
ができる。この実施例を図4に示す構成並びに図5に示
すデータを用いて説明する。
【0057】なお、同一の機能を有する構成には図1と
同一の番号を付与し、説明を省略する。
同一の番号を付与し、説明を省略する。
【0058】図4において、データ構造保持回路102
はセレクト回路12の出力が設定されるように構成さ
れ、制御回路101が指示したときセレクト回路12の
値を取り込む。
はセレクト回路12の出力が設定されるように構成さ
れ、制御回路101が指示したときセレクト回路12の
値を取り込む。
【0059】制御回路101は、データ転送の第1ワー
ドにデータ構造の制御データがあるとして以下の動作を
行う。まず、入力回路11に第1ワードの取り込みを要
求する。入力エンディアン保持回路17がリトルエンデ
ィアンを持っている時は、セレクト回路12は入力回路
11の出力を選択するよう指示する。一方、ビッグエン
ディアンが保持されているならば、セレクト回路11が
バイトスワップ回路14の出力を選択するよう指示す
る。次に、入力回路11が第1ワードの取り込み終了を
通知したならば、データ構造保持回路102にセレクト
回路12の出力を取り込むよう指示する。
ドにデータ構造の制御データがあるとして以下の動作を
行う。まず、入力回路11に第1ワードの取り込みを要
求する。入力エンディアン保持回路17がリトルエンデ
ィアンを持っている時は、セレクト回路12は入力回路
11の出力を選択するよう指示する。一方、ビッグエン
ディアンが保持されているならば、セレクト回路11が
バイトスワップ回路14の出力を選択するよう指示す
る。次に、入力回路11が第1ワードの取り込み終了を
通知したならば、データ構造保持回路102にセレクト
回路12の出力を取り込むよう指示する。
【0060】このように構成されているので、データ構
造保持回路102には、エンディアンを考慮して正しい
ビット順で転送データの第1ワードがデータ構造の制御
データとして設定される。
造保持回路102には、エンディアンを考慮して正しい
ビット順で転送データの第1ワードがデータ構造の制御
データとして設定される。
【0061】そして、出力側エンディアンに合わせてセ
レクト回路12を制御し、出力回路15に書き込みの要
求を出す。これは、データ構造の制御データ自体を出力
側メモリ6に書き込む為である。
レクト回路12を制御し、出力回路15に書き込みの要
求を出す。これは、データ構造の制御データ自体を出力
側メモリ6に書き込む為である。
【0062】次に、この実施例の動作を具体的データを
用いて説明する。
用いて説明する。
【0063】CPU4はデータ転送に先だって、入力回
路11のアドレスカウンタ、出力回路15のアドレスカ
ウンタ、入力エンディアン保持回路17、出力エンディ
アン保持回路18、データブロック長保持回路20をそ
れぞれ設定する。第1の実施例と同じデータを転送する
が、データ構造制御データが先頭に加わるため、以下に
示すようにデータ長は2バイト増え10バイトになって
いる。
路11のアドレスカウンタ、出力回路15のアドレスカ
ウンタ、入力エンディアン保持回路17、出力エンディ
アン保持回路18、データブロック長保持回路20をそ
れぞれ設定する。第1の実施例と同じデータを転送する
が、データ構造制御データが先頭に加わるため、以下に
示すようにデータ長は2バイト増え10バイトになって
いる。
【0064】入力アドレス:$1000 出力アドレス:$2000 入力エンディアン:リトルエンディアン 出力エンディアン:ビッグエンディアン データ長:10バイト 制御回路101は第1ワードの読み出しを入力回路11
に要求する。入力回路11はアドレス$1000にある
データ$0AA5を読み出す。入力エンディアンはリト
ルエンディアンであるから、読み出されたデータをその
ままセレクト回路12を介してデータ構造保持回路10
2に設定される。
に要求する。入力回路11はアドレス$1000にある
データ$0AA5を読み出す。入力エンディアンはリト
ルエンディアンであるから、読み出されたデータをその
ままセレクト回路12を介してデータ構造保持回路10
2に設定される。
【0065】その後、第1ワードをメモリ6に書き込む
が、出力エンディアンはビッグエンディアンであるか
ら、バイトスワップされたデータがセレクト回路12で
選択され、出力回路15に与えられる。制御回路101
は出力回路15に書き込みを要求して第1ワードの出力
を終了する。
が、出力エンディアンはビッグエンディアンであるか
ら、バイトスワップされたデータがセレクト回路12で
選択され、出力回路15に与えられる。制御回路101
は出力回路15に書き込みを要求して第1ワードの出力
を終了する。
【0066】データ構造保持回路102は第2ワード以
降のデータ構造を保持しており、$0AA5は第1の実
施例と同様に1個の2バイト長、1個の4バイト長デー
タ、2個の1バイト長データを示している。第1ワード
の読み書きが終了した時点で、入力アドレスは$100
2、出力アドレスは$2002、データ長は8バイトに
なっているが、動作状況は第1の実施例の開始時点と同
じになっており、以降の動作は第1の実施例とまったく
同じであるので、説明を省略する。
降のデータ構造を保持しており、$0AA5は第1の実
施例と同様に1個の2バイト長、1個の4バイト長デー
タ、2個の1バイト長データを示している。第1ワード
の読み書きが終了した時点で、入力アドレスは$100
2、出力アドレスは$2002、データ長は8バイトに
なっているが、動作状況は第1の実施例の開始時点と同
じになっており、以降の動作は第1の実施例とまったく
同じであるので、説明を省略する。
【0067】なお、この実施例ではデータ構造制御デー
タを16ビットとして説明しているが、さらに多ビット
の制御データに対応させることも可能である。
タを16ビットとして説明しているが、さらに多ビット
の制御データに対応させることも可能である。
【0068】また、データ構造の制御データとしてデー
タ1バイトごとに2ビットを割り当てているが、1デー
タ要素を単位として符号化することができる。例えば1
バイト長データは”00”、2バイト長データは”0
1”、4バイト長データは”10”としたとき、16ビ
ットのデータ構造値では8個のデータ要素を表現できる
ことになる。このように、データ構造値の表現形式の構
造を替えることは、当業者にとって極めて容易なことで
ある。
タ1バイトごとに2ビットを割り当てているが、1デー
タ要素を単位として符号化することができる。例えば1
バイト長データは”00”、2バイト長データは”0
1”、4バイト長データは”10”としたとき、16ビ
ットのデータ構造値では8個のデータ要素を表現できる
ことになる。このように、データ構造値の表現形式の構
造を替えることは、当業者にとって極めて容易なことで
ある。
【0069】図6はこの発明の第3の実施例に係わるデ
ータ転送装置の構成を示す図である。
ータ転送装置の構成を示す図である。
【0070】第3の実施例は、メモリ5およびメモリ6
の間で双方向にデータ転送を行うものである。第1入出
力回路202及び第2入出力回路203はそれぞれ第1
システムバス、第2システムバスに対するバス制御を行
うものであって、バスコントローラ202−1,203
−1とアドレスカウンタ202−2,203−2を具備
している。
の間で双方向にデータ転送を行うものである。第1入出
力回路202及び第2入出力回路203はそれぞれ第1
システムバス、第2システムバスに対するバス制御を行
うものであって、バスコントローラ202−1,203
−1とアドレスカウンタ202−2,203−2を具備
している。
【0071】バスコントローラ202−1,203−1
は、制御回路204との間で読み書きモードを示すR/
W1,R/W2信号とバスアクセス要求を示すREQ
1,REQ2信号を受け、メモリアクセスの終了を示す
RDY1,RDY2信号を出力する。第1,第2システ
ムバス2,3のアドレスバスA1,A2には、アドレス
カウンタが保持しているアドレスが出力される。第1,
第2システムバスのデータバスD1,D2から読み込ん
だデータはDRIないしDWIに出力され、書き出しデ
ータはDWOないしDROより受け取り、第1,第2シ
ステムバスのデータバスD1,D2に出力される。
は、制御回路204との間で読み書きモードを示すR/
W1,R/W2信号とバスアクセス要求を示すREQ
1,REQ2信号を受け、メモリアクセスの終了を示す
RDY1,RDY2信号を出力する。第1,第2システ
ムバス2,3のアドレスバスA1,A2には、アドレス
カウンタが保持しているアドレスが出力される。第1,
第2システムバスのデータバスD1,D2から読み込ん
だデータはDRIないしDWIに出力され、書き出しデ
ータはDWOないしDROより受け取り、第1,第2シ
ステムバスのデータバスD1,D2に出力される。
【0072】バスアドレスカウンタ202−2,203
−2には、CPU4によってデータ転送の開始アドレス
が設定されるものとし、バスアクセスの終了時に自動的
にインクリメントを行う。
−2には、CPU4によってデータ転送の開始アドレス
が設定されるものとし、バスアクセスの終了時に自動的
にインクリメントを行う。
【0073】データ構造変換回路201は、バイトスワ
ップ回路201−1,201−4と、一時記憶回路20
1−2,201−5と、セレタタ201−3,201−
6とを具備している。
ップ回路201−1,201−4と、一時記憶回路20
1−2,201−5と、セレタタ201−3,201−
6とを具備している。
【0074】バイトスワップ回路201−1,201−
4は、入力された16ビット幅のデータの上位バイトと
下位バイトとを入れ換える機能を有し、制御回路204
が出力するスワップ指示(SWAP)信号が”1”であ
る時に入れ換えを行い、”0”である時は入れ換えを行
わない。
4は、入力された16ビット幅のデータの上位バイトと
下位バイトとを入れ換える機能を有し、制御回路204
が出力するスワップ指示(SWAP)信号が”1”であ
る時に入れ換えを行い、”0”である時は入れ換えを行
わない。
【0075】一時記憶回路201−2,201−5は、
制御回路204が出力するロード指示(LOAD)信号
が出された時にバイトスワップ回路201−1,201
−4が出力したデータを記憶する。
制御回路204が出力するロード指示(LOAD)信号
が出された時にバイトスワップ回路201−1,201
−4が出力したデータを記憶する。
【0076】セレクタ201−3,201−4は、制御
回路204が出力する選択指示(SELA)信号が出力
された時に入力Aを、出力されていない時は入力Bを選
択して出力する。
回路204が出力する選択指示(SELA)信号が出力
された時に入力Aを、出力されていない時は入力Bを選
択して出力する。
【0077】エンディアン不一致保持回路205は、第
1システムバスと第2システムバスのエンディアンが等
しくないことを示す不一致信号を出力するものであっ
て、CPU4により設定される。
1システムバスと第2システムバスのエンディアンが等
しくないことを示す不一致信号を出力するものであっ
て、CPU4により設定される。
【0078】データ構造保持回路206は、転送される
データブロックのデータ構造を保持するものであって、
読み込みデータ(16ビット幅)のデータ構造値を制御
回路204が出力するNEXT信号に応じて順次出力す
る。データ構造値はデータ転送に先だってCPU4によ
り設定される。
データブロックのデータ構造を保持するものであって、
読み込みデータ(16ビット幅)のデータ構造値を制御
回路204が出力するNEXT信号に応じて順次出力す
る。データ構造値はデータ転送に先だってCPU4によ
り設定される。
【0079】データブロック長保持回路207は、転送
されるデータブロックの長さを保持するものであって、
制御回路204が出力するDEC信号により読み出した
データ量だけデクリメントを行い、結果が0になったな
らば残量ゼロ信号を制御回路204に出力する。
されるデータブロックの長さを保持するものであって、
制御回路204が出力するDEC信号により読み出した
データ量だけデクリメントを行い、結果が0になったな
らば残量ゼロ信号を制御回路204に出力する。
【0080】制御回路204はデータ転送装置200を
統括制御するものである。
統括制御するものである。
【0081】次に、この第3の実施例の作用を、第1シ
ステムバス2と第2システムバス3のエンディアンが異
なった場合について、第7図に示すタイミングチャート
を用いて詳細に説明する。
ステムバス2と第2システムバス3のエンディアンが異
なった場合について、第7図に示すタイミングチャート
を用いて詳細に説明する。
【0082】メモリ5に格納されたデータをメモリ6に
転送するものとする。メモリ5には図3(b)に示すデ
ータが$1000番地から配置されているものである。
転送先であるメモリ6では、同図(d)のデータが$2
000番地から書き込まれることになる。
転送するものとする。メモリ5には図3(b)に示すデ
ータが$1000番地から配置されているものである。
転送先であるメモリ6では、同図(d)のデータが$2
000番地から書き込まれることになる。
【0083】データ転送に先だって、CPU4は転送元
アドレス$1000をアドレスカウンタ202−2に、
転送先アドレス$2000をアドレスカウンタ203−
2に、転送データ数$8をデータブロック長保持回路2
07に、図3(e)に示すデータ構造値$0AA5をデ
ータ構造保持回路206に、エンディアン不一致をエン
ディアン不一致保持回路205にそれぞれ設定し、転送
開始を制御回路204に指示する。
アドレス$1000をアドレスカウンタ202−2に、
転送先アドレス$2000をアドレスカウンタ203−
2に、転送データ数$8をデータブロック長保持回路2
07に、図3(e)に示すデータ構造値$0AA5をデ
ータ構造保持回路206に、エンディアン不一致をエン
ディアン不一致保持回路205にそれぞれ設定し、転送
開始を制御回路204に指示する。
【0084】データ構造保持回路206は、第1ワード
が2バイト長データであることを示すB’0101’
(Bは2進数を示す)を出力する。制御回路204はエ
ンディアン不一致を受けてSWAP信号を出力し、デー
タ読み込みのためにバスコントローラ202−1にRE
Q1信号を出力する。また、データブロック長保持回路
207にDEC信号を送り、2バイト長のデータの取り
込みが行われることを指示して残量をデクリメントさせ
る。
が2バイト長データであることを示すB’0101’
(Bは2進数を示す)を出力する。制御回路204はエ
ンディアン不一致を受けてSWAP信号を出力し、デー
タ読み込みのためにバスコントローラ202−1にRE
Q1信号を出力する。また、データブロック長保持回路
207にDEC信号を送り、2バイト長のデータの取り
込みが行われることを指示して残量をデクリメントさせ
る。
【0085】バスコントローラ202−1は、REQ1
信号を受けて第1システムバス2にアドレスカウンタ2
02−2の値($1000)を出力し、メモリ5より第
1ワードのデータ$AABBを読み出す。データがバス
コントローラ202−1に入力された時点でRDY1信
号が出力され、DRIにデータが出力される。以下、R
EQ1信号が入力されてからRDY1信号が出力される
までは、同じ動作を繰り返すので説明を省略する。
信号を受けて第1システムバス2にアドレスカウンタ2
02−2の値($1000)を出力し、メモリ5より第
1ワードのデータ$AABBを読み出す。データがバス
コントローラ202−1に入力された時点でRDY1信
号が出力され、DRIにデータが出力される。以下、R
EQ1信号が入力されてからRDY1信号が出力される
までは、同じ動作を繰り返すので説明を省略する。
【0086】バイトスワップ回路201−1ではSWA
P信号が入力されているため、上位バイトと下位バイト
の入れ替えを行い、DRSWに$BBAAを出力する。
P信号が入力されているため、上位バイトと下位バイト
の入れ替えを行い、DRSWに$BBAAを出力する。
【0087】制御回路204は第1ワードが2バイト長
であることからRDY1信号を受けると、直ちに第2ワ
ードの読み込みをバスコントローラ202−1にREQ
1信号をもって指示し、次のデータ構造値を得るために
NEXT信号を出力する。更に、第2システムバス3へ
の書き込みをバスコントローラ203−1にREQ2信
号により指示する。なお、第1データは2バイト長であ
ることから、セレクタ201−3には入力Aを選択する
よう指示してあり、DROには$BBAAが出力されて
いる。
であることからRDY1信号を受けると、直ちに第2ワ
ードの読み込みをバスコントローラ202−1にREQ
1信号をもって指示し、次のデータ構造値を得るために
NEXT信号を出力する。更に、第2システムバス3へ
の書き込みをバスコントローラ203−1にREQ2信
号により指示する。なお、第1データは2バイト長であ
ることから、セレクタ201−3には入力Aを選択する
よう指示してあり、DROには$BBAAが出力されて
いる。
【0088】バスコントローラ203−1は、REQ2
信号を受けて第2システムバスにアドレスカウンタ20
3−2の値($2000)とDROの値($BBAA)
を出力し、メモリ6に書き込みを行う。書き込みが終了
したことをRDY2信号により制御回路204に知らせ
る。
信号を受けて第2システムバスにアドレスカウンタ20
3−2の値($2000)とDROの値($BBAA)
を出力し、メモリ6に書き込みを行う。書き込みが終了
したことをRDY2信号により制御回路204に知らせ
る。
【0089】バスコントローラ202−1は、第2ワー
ドの読み込みが終了するとRDY1信号を出力する。制
御回路204は、その時のデータ構造値がB’101
0’であることから4バイト長データが読み込まれたこ
とが判別され、内部状態を”LONG”に変更する。同
時に、LOAD信号を出力して、一時記憶回路201−
2にDRSWの値($3322)を取り込ませる。引き
続き、第3ワードの取り込みをバスコントローラ202
−1に指示する。メモリ6にはワード順を入れ換えて書
き込まなければならないため、この時点ではREQ2信
号が出力されない。
ドの読み込みが終了するとRDY1信号を出力する。制
御回路204は、その時のデータ構造値がB’101
0’であることから4バイト長データが読み込まれたこ
とが判別され、内部状態を”LONG”に変更する。同
時に、LOAD信号を出力して、一時記憶回路201−
2にDRSWの値($3322)を取り込ませる。引き
続き、第3ワードの取り込みをバスコントローラ202
−1に指示する。メモリ6にはワード順を入れ換えて書
き込まなければならないため、この時点ではREQ2信
号が出力されない。
【0090】バスコントローラ202−1が第3ワード
の読み込みを終了すると、3回目のRDY1信号が出力
される。ここで、制御回路204はSELA信号を出力
して、DRSWに出力されているデータ$1100をバ
スコントローラ203−1に与え書き込みを指示する。
その書き込み終了後、SELA信号を”0”にして一時
記憶回路201−2に保持されたデータ$3322をバ
スコントローラ203−1に与え書き込みを指示する。
この時点で、第4ワードの読み込みを行うべく、バスコ
ントローラ202−1にREQ1信号を出力する。
の読み込みを終了すると、3回目のRDY1信号が出力
される。ここで、制御回路204はSELA信号を出力
して、DRSWに出力されているデータ$1100をバ
スコントローラ203−1に与え書き込みを指示する。
その書き込み終了後、SELA信号を”0”にして一時
記憶回路201−2に保持されたデータ$3322をバ
スコントローラ203−1に与え書き込みを指示する。
この時点で、第4ワードの読み込みを行うべく、バスコ
ントローラ202−1にREQ1信号を出力する。
【0091】バスコントローラ202−1が第4ワード
の読み込みを終了すると、4回目のRDY1信号が出力
される。この時、データ構造値はB’0000’である
から、制御回路204は1バイト幅データが読み込まれ
たことが判別され、SWAP信号を停止するとともに、
SELA信号を出力して第4ワードの書き込みをバスコ
ントローラ203−1に指示する。なお、この時点で残
量ゼロ信号が出力されているので、第1システムバス2
からの読み込みは完了し、REQ1信号は出力されな
い。バスコントローラ203−1の書き込みをもってデ
ータブロックの転送が完了する。
の読み込みを終了すると、4回目のRDY1信号が出力
される。この時、データ構造値はB’0000’である
から、制御回路204は1バイト幅データが読み込まれ
たことが判別され、SWAP信号を停止するとともに、
SELA信号を出力して第4ワードの書き込みをバスコ
ントローラ203−1に指示する。なお、この時点で残
量ゼロ信号が出力されているので、第1システムバス2
からの読み込みは完了し、REQ1信号は出力されな
い。バスコントローラ203−1の書き込みをもってデ
ータブロックの転送が完了する。
【0092】メモリ6からメモリ5への転送も同様の手
順でなされるので説明を省略する。
順でなされるので説明を省略する。
【0093】次に、第1システムバス2と第2システム
バス3のエンディアンが同一である場合の動作につい
て、図8のタイミングチャートを用いて詳細に説明す
る。
バス3のエンディアンが同一である場合の動作につい
て、図8のタイミングチャートを用いて詳細に説明す
る。
【0094】図7と同じく、メモリ5に格納されたデー
タをメモリ6に転送するものとする。メモリ5には図3
(b)のデータが$1000番地から配置されているも
のである。
タをメモリ6に転送するものとする。メモリ5には図3
(b)のデータが$1000番地から配置されているも
のである。
【0095】エンディアンが同一であることから、デー
タ構造値によらずSWAP信号は常に”0”である。ま
た、4バイト長データでワード順を入れ換える必要がな
いため、一時記憶回路201−2は使用されない。した
がって、制御回路204はバスコントローラ202−1
にREQ1信号を出力し、RDY1信号が入力されたな
らば直ちにバスコントローラ202−2にREQ2信号
を出力することができる。REQ1信号の出力は残量ゼ
ロ信号が入力されるまで繰り返され、全てのデータが転
送される。
タ構造値によらずSWAP信号は常に”0”である。ま
た、4バイト長データでワード順を入れ換える必要がな
いため、一時記憶回路201−2は使用されない。した
がって、制御回路204はバスコントローラ202−1
にREQ1信号を出力し、RDY1信号が入力されたな
らば直ちにバスコントローラ202−2にREQ2信号
を出力することができる。REQ1信号の出力は残量ゼ
ロ信号が入力されるまで繰り返され、全てのデータが転
送される。
【0096】このように、上記第3の実施例では、バイ
トスワップ回路、一時記憶回路、セレクタを組み合わせ
ているため、無変換、バイトスワップ、ワードスワップ
が容易に実現できる。
トスワップ回路、一時記憶回路、セレクタを組み合わせ
ているため、無変換、バイトスワップ、ワードスワップ
が容易に実現できる。
【0097】なお、本発明は、上記実施例に限定される
ことはない。
ことはない。
【0098】上記実施例では入力側、出力側ともメモリ
上のデータを転送する場合を説明したが、どちらか一方
ないしは両者が周辺装置に接続されデータを直接受け渡
す構成であっても良い。特に、データ転送装置と周辺装
置とメモリが1つのLSIに集積されている構成であっ
ても良い。
上のデータを転送する場合を説明したが、どちらか一方
ないしは両者が周辺装置に接続されデータを直接受け渡
す構成であっても良い。特に、データ転送装置と周辺装
置とメモリが1つのLSIに集積されている構成であっ
ても良い。
【0099】また、上記実施例では入力側、出力側のシ
ステムバスが独立して記述されているが、同一のバスで
あっても良い。更に、読み書きするメモリが同一の記憶
装置であっても良い。特に、このような実施例では、2
つの異なったエンディアンを使用するCPUがシステム
バスを共有しているシステムにおいて、相互間で交信す
るデータの転送とエンディアン変換が同時に実行される
という利点がある。
ステムバスが独立して記述されているが、同一のバスで
あっても良い。更に、読み書きするメモリが同一の記憶
装置であっても良い。特に、このような実施例では、2
つの異なったエンディアンを使用するCPUがシステム
バスを共有しているシステムにおいて、相互間で交信す
るデータの転送とエンディアン変換が同時に実行される
という利点がある。
【0100】また、上記実施例では、1バイト長、2バ
イト長、4バイト長の3種のデータを対象としたが、1
バイト長、2バイト長の2種に限定し、データ構造制御
データを1バイトあたり1ビットのフィールドにしても
良い。さらに、前記3種にさらに64ビットデータを加
え、4種のデータを扱うことも可能である。
イト長、4バイト長の3種のデータを対象としたが、1
バイト長、2バイト長の2種に限定し、データ構造制御
データを1バイトあたり1ビットのフィールドにしても
良い。さらに、前記3種にさらに64ビットデータを加
え、4種のデータを扱うことも可能である。
【0101】また、上記実施例では、システムバスのデ
ータ幅を16ビットで説明したが、これにとらわれるこ
となく8ビットバス、32ビットバスであっても同様の
構成により所望の効果を達成することができる。さら
に、入力側システムバスの幅と出力側システムバスの幅
が異なっていても入力回路ないしは出力回路にデータバ
ッファを追加することにより所望の効果が達成される。
ータ幅を16ビットで説明したが、これにとらわれるこ
となく8ビットバス、32ビットバスであっても同様の
構成により所望の効果を達成することができる。さら
に、入力側システムバスの幅と出力側システムバスの幅
が異なっていても入力回路ないしは出力回路にデータバ
ッファを追加することにより所望の効果が達成される。
【0102】
【発明の効果】以上説明したように、この発明によれ
ば、転送するデータのデータ構造にしたがってデータ要
素を組み立て、組み立てたデータ要素を転送先のエンデ
ィアン形式に構造変換して転送するようにしたので、様
々なデータ要素からなるデータブロックを、異なるエン
ディアンの装置間でプログラム処理によるエンディアン
変換を行うことなく高速に転送することが達成できる。
ば、転送するデータのデータ構造にしたがってデータ要
素を組み立て、組み立てたデータ要素を転送先のエンデ
ィアン形式に構造変換して転送するようにしたので、様
々なデータ要素からなるデータブロックを、異なるエン
ディアンの装置間でプログラム処理によるエンディアン
変換を行うことなく高速に転送することが達成できる。
【図1】本発明の第1の実施例に係わるデータ転送装置
の構成を示す図である。
の構成を示す図である。
【図2】本発明で用いられるデータ構造制御データの一
実施例を示す図である。
実施例を示す図である。
【図3】第1の実施例に用いるデータ構造の一例を示す
図である。
図である。
【図4】本発明の第2の実施例に係わるデータ転送装置
の構成を示す図である。
の構成を示す図である。
【図5】第2の実施例に用いるデータ構造の一例を示す
図である。
図である。
【図6】本発明の第3の実施例に係るデータ転送装置の
構成を示す図である。
構成を示す図である。
【図7】第3の実施例のタイミングチャートを示す図で
ある。
ある。
【図8】第3の実施例の他のタイミングチャートを示す
図である。
図である。
【図9】4バイト長データがメモリに記憶されるときの
バイト並びを示す図である。
バイト並びを示す図である。
1,100,200 データ転送装置 2 第1システムバス 3 第2システムバス 4 CPU 5 転送元データが記憶されたメモリ 6 転送先データが記憶されるメモリ 10,101,204 制御回路 11 入力回路 12 セレクト回路 13 バイトスワップ回路 14 ワードスワップ回路 15 出力回路 16,102,206 データ構造保持回路 17 入力エンディアン保持回路 18 出力エンディアン保持回路 19 Ex−OR回路 20,207 データブロック長保持回路 201 データ構造変換回路 202 第1入出力回路 203 第2入出力回路
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−195441(JP,A) 特開 平4−163656(JP,A) 特開 昭63−208972(JP,A) 特開 平3−34043(JP,A) 特開 平4−172548(JP,A) 特開 平4−143846(JP,A) 特開 昭64−88826(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 5/00 G06F 12/04 510 G06F 13/16 - 13/18 510 G06F 13/28 - 13/36 320 G06F 13/38 - 13/38 350
Claims (7)
- 【請求項1】 異なる長さのデータ要素が複数含まれて
なるデータ構造のデータブロックを、設定されたデータ
長毎に転送元から受ける入力手段と、 前記入力手段で受けたデータをデータ要素に組み立て,
組み立てたデータ要素を転送先のエンディアン形式に構
造変換する変換手段と、 前記変換手段によって構造変換されたデータ要素を、設
定されたデータ長毎に転送先へ与える出力手段と、 転送するデータブロックのデータ構造を記憶する第1の
記憶手段と、 転送元のエンディアンと転送先のエンディアンを記憶す
る第2の記憶手段と、 前記第1の記憶手段に記憶されたデータ構造にしたがっ
て、前記変換手段おける組み立て処理を制御し、前記第
2の記憶手段に記憶されたエンディアンにしたがって前
記変換手段における変換処理を制御し、前記入力手段と
前記出力手段におけるデータの入出力を制御する制御手
段とを有することを特徴とするデータ転送装置。 - 【請求項2】 前記変換手段は、 n(n≧2)バイト長のデータ要素におけるバイト配列
を逆に配列するバイト配列変換手段と、 前記バイト配列変換手段によって配列されたデータ要素
又は前記入力手段で受けて組み立てられたデータ要素を
選択する選択手段とを有することを特徴とする請求項1
記載のデータ転送装置。 - 【請求項3】 前記変換手段は、 2バイト長からなるデ−タ要素に対して、上位側の1バ
イトのデ−タ要素を下位側に配置転換し、下位側の1バ
イトのデ−タ要素を上位側に配置転換するバイト交換回
路と、 4バイト長からなるデータ要素における上位側の2バイ
トのデータ要素に対して、上位側の1バイトのデータ要
素を下位側に配置転換し、下位側の1バイトのデータ要
素を上位側に配置転換し、前記4バイト長からなるデー
タ要素における下位側の2バイトのデータ要素に対し
て、上位側の1バイトのデータ要素を下位側に配置転換
し、下位側の1バイトのデータ要素を上位側に配置転換
するワード交換回路と、 データ要素の構造変換を行わない場合には、前記入力手
段で受けて組み立てられたデータ要素を選択出力し、2
バイト長のデ−タ要素を構造変換する場合には、バイト
交換回路によって配置転換されたデータ要素を選択出力
し、4バイト長のデータ要素を構造変換する場合には、
ワード交換回路によって配置転換された4バイト長のデ
ータ要素における下位側の2バイトのデータ要素を選択
出力した後続けて上位側の2バイトのデータ要素を選択
出力する選択手段とを有することを特徴とする請求項1
記載のデ−タ転送装置。 - 【請求項4】 前記第1の記憶手段は、記憶するデータ
構造が前記変換手段によって組み立てられるデータ要素
のバイト長を示してなることを特徴とする請求項1,2
又は3記載のデータ転送装置。 - 【請求項5】 前記第1の記憶手段は、記憶するデータ
構造がプロセッサにより設定されてなることを特徴とす
る請求項1,2,3又は4記載のデータ転送装置。 - 【請求項6】 前記第1の記憶手段は、記憶するデータ
構造が前記入力手段で受けたデータ要素により設定され
てなることを特徴とする請求項1,2,3又は4記載の
データ転送装置。 - 【請求項7】 前記転送元又は転送先は,メモリ又はプ
ロセッサからなることを特徴とする請求項1,2,3,
4,5又は6記載のデータ転送装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20139292A JP3187539B2 (ja) | 1992-07-28 | 1992-07-28 | データ転送装置 |
US08/097,219 US5550987A (en) | 1992-07-28 | 1993-07-27 | Data transfer device |
KR1019930014404A KR970007276B1 (ko) | 1992-07-28 | 1993-07-28 | 데이터 전송장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20139292A JP3187539B2 (ja) | 1992-07-28 | 1992-07-28 | データ転送装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0652102A JPH0652102A (ja) | 1994-02-25 |
JP3187539B2 true JP3187539B2 (ja) | 2001-07-11 |
Family
ID=16440331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20139292A Expired - Fee Related JP3187539B2 (ja) | 1992-07-28 | 1992-07-28 | データ転送装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5550987A (ja) |
JP (1) | JP3187539B2 (ja) |
KR (1) | KR970007276B1 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3155144B2 (ja) * | 1994-03-25 | 2001-04-09 | ローム株式会社 | データ転送方法及び装置 |
US5778406A (en) * | 1995-06-30 | 1998-07-07 | Thomson Consumer Electronics, Inc. | Apparatus for delivering CPU independent data for little and big endian machines |
US5970236A (en) * | 1995-11-14 | 1999-10-19 | Compaq Computer Corporation | Circuit for selectively performing data format conversion |
US5848436A (en) * | 1996-03-06 | 1998-12-08 | International Business Machines Corporation | Method and apparatus for efficiently providing data from a data storage medium to a processing entity |
JP3562126B2 (ja) * | 1996-04-09 | 2004-09-08 | 株式会社デンソー | Dma制御装置 |
US5881366A (en) * | 1996-05-01 | 1999-03-09 | Logitech, Inc. | Wireless peripheral interface |
US6021275A (en) * | 1996-08-05 | 2000-02-01 | General Magic, Inc. | Object code structure and method for translation of architecture independent program implementations |
US5898896A (en) * | 1997-04-10 | 1999-04-27 | International Business Machines Corporation | Method and apparatus for data ordering of I/O transfers in Bi-modal Endian PowerPC systems |
JP2000020490A (ja) * | 1998-07-01 | 2000-01-21 | Fujitsu Ltd | 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体 |
US6108723A (en) * | 1998-07-20 | 2000-08-22 | Hewlett-Packard Company | System for implementing hardware automated control of burst mode data transfer over a communication link between devices operating in a block mode |
US6782245B1 (en) | 1999-09-10 | 2004-08-24 | Logitech Europe S.A. | Wireless peripheral interface with universal serial bus port |
JP2001243791A (ja) * | 2000-02-25 | 2001-09-07 | Mitsubishi Electric Corp | データ記憶装置、データ測定装置、半導体解析装置および半導体装置 |
US6567884B1 (en) | 2000-03-21 | 2003-05-20 | Cypress Semiconductor Corp. | Endian-controlled counter for synchronous ports with bus matching |
US6725369B1 (en) * | 2000-04-28 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Circuit for allowing data return in dual-data formats |
US7224801B2 (en) * | 2000-12-27 | 2007-05-29 | Logitech Europe S.A. | Wireless secure device |
US6965606B2 (en) * | 2001-01-26 | 2005-11-15 | Exar Corporation | Method and apparatus for byte rotation |
US6670895B2 (en) * | 2002-05-01 | 2003-12-30 | Analog Devices, Inc. | Method and apparatus for swapping the contents of address registers |
US7822955B2 (en) * | 2003-01-21 | 2010-10-26 | Arm Limited | Data processing apparatus and method for utilizing endianess independent data values |
US7404019B2 (en) * | 2003-03-07 | 2008-07-22 | Freescale Semiconductor, Inc. | Method and apparatus for endianness control in a data processing system |
KR100574973B1 (ko) * | 2004-02-20 | 2006-05-02 | 삼성전자주식회사 | 서로 다른 엔디안 포멧들사이에서 데이터를 변환하기 위한장치와 방법, 그리고 상기 장치를 구비하는 시스템 |
JP5036987B2 (ja) * | 2005-08-22 | 2012-09-26 | 株式会社大都技研 | 遊技台 |
US8595452B1 (en) | 2005-11-30 | 2013-11-26 | Sprint Communications Company L.P. | System and method for streaming data conversion and replication |
JP2008033722A (ja) * | 2006-07-31 | 2008-02-14 | Matsushita Electric Ind Co Ltd | エンディアン変換回路を備えたデータ転送制御装置 |
US7721077B2 (en) * | 2006-12-11 | 2010-05-18 | Intel Corporation | Performing endian conversion |
JP4743110B2 (ja) * | 2006-12-20 | 2011-08-10 | 村田機械株式会社 | データ処理装置 |
KR20100002708A (ko) * | 2008-06-30 | 2010-01-07 | 삼성전자주식회사 | 반도체 소자 및 그 형성 방법 |
US8407553B2 (en) * | 2008-08-15 | 2013-03-26 | Lsi Corporation | RAM list-decoding of near codewords |
EP2320327A1 (en) * | 2009-11-09 | 2011-05-11 | Imec | A data transferring device |
US20150248345A1 (en) * | 2014-03-02 | 2015-09-03 | Ralink Technology Corp. | Swap method and Electronic System thereof |
US20180232427A1 (en) * | 2017-02-13 | 2018-08-16 | Raytheon Company | Data structure endian conversion system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL292579A (ja) * | 1962-05-10 | |||
ATE82412T1 (de) * | 1986-02-06 | 1992-11-15 | Mips Computer Systems Inc | Funktionseinheit fuer rechner. |
DE3632682A1 (de) * | 1986-09-26 | 1988-03-31 | Philips Patentverwaltung | Schaltungsanordnung zur umcodierung eines datensignales |
JPS63263524A (ja) * | 1987-04-22 | 1988-10-31 | Hitachi Ltd | デ−タ構造変換方式 |
JPH02141857A (ja) * | 1988-11-24 | 1990-05-31 | Hitachi Micro Comput Eng Ltd | データ処理システム |
JPH0337715A (ja) * | 1989-07-05 | 1991-02-19 | Fujitsu Ltd | ビット順反転回路 |
JPH087738B2 (ja) * | 1989-11-17 | 1996-01-29 | 株式会社日立製作所 | エンディアン変換方式 |
EP0470570B1 (en) * | 1990-08-09 | 1997-01-29 | Silicon Graphics, Inc. | Method and apparatus for byte order switching in a computer |
US5341508A (en) * | 1991-10-04 | 1994-08-23 | Bull Hn Information Systems Inc. | Processing unit having multiple synchronous bus for sharing access and regulating system bus access to synchronous bus |
US5243699A (en) * | 1991-12-06 | 1993-09-07 | Maspar Computer Corporation | Input/output system for parallel processing arrays |
US5410677A (en) * | 1991-12-30 | 1995-04-25 | Apple Computer, Inc. | Apparatus for translating data formats starting at an arbitrary byte position |
US5251312A (en) * | 1991-12-30 | 1993-10-05 | Sun Microsystems, Inc. | Method and apparatus for the prevention of race conditions during dynamic chaining operations |
-
1992
- 1992-07-28 JP JP20139292A patent/JP3187539B2/ja not_active Expired - Fee Related
-
1993
- 1993-07-27 US US08/097,219 patent/US5550987A/en not_active Expired - Lifetime
- 1993-07-28 KR KR1019930014404A patent/KR970007276B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR940002718A (ko) | 1994-02-19 |
KR970007276B1 (ko) | 1997-05-07 |
US5550987A (en) | 1996-08-27 |
JPH0652102A (ja) | 1994-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3187539B2 (ja) | データ転送装置 | |
US5471632A (en) | System for transferring data between a processor and a system bus including a device which packs, unpacks, or buffers data blocks being transferred | |
US4507731A (en) | Bidirectional data byte aligner | |
JP2836321B2 (ja) | データ処理装置 | |
JP3940435B2 (ja) | ダイレクト・メモリ・アクセス(dma)バイト・スワッピングを実行する方法および装置 | |
JP3619532B2 (ja) | 半導体集積回路装置 | |
JPH03188546A (ja) | バスインターフェイス制御方式 | |
US20020019905A1 (en) | Flexible memory channel | |
JPH03189843A (ja) | データ処理システムおよび方法 | |
US20070139424A1 (en) | DSP System With Multi-Tier Accelerator Architecture and Method for Operating The Same | |
JP2527458B2 (ja) | デ―タ転送制御装置 | |
US6463483B1 (en) | Low latency input-output interface | |
JPS6215899B2 (ja) | ||
US20040162924A1 (en) | Apparatus and method for transmitting data by means of direct memory access medium | |
JPH06103225A (ja) | チェーン式dma方式及びそのためのdmaコントローラ | |
JP3150005B2 (ja) | シリアルインタフェース回路 | |
JP3936694B2 (ja) | 半導体集積回路装置および半導体集積回路装置のデータ転送方法 | |
JPH06274450A (ja) | データ転送システム | |
JPS58185080A (ja) | メモリ・アクセス方法及び双方向デ−タ・バイト整列装置 | |
JP2002024157A (ja) | Dma処理方法およびdma処理装置 | |
JP4017050B2 (ja) | データ転送システム | |
JPH10312356A (ja) | データ転送装置 | |
JPS61112270A (ja) | バイト変換装置 | |
JPH04109351A (ja) | Dmaコントローラ | |
JPH10254817A (ja) | Dma転送制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090511 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090511 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100511 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |