JPH11338818A - データ転送方法及び装置 - Google Patents

データ転送方法及び装置

Info

Publication number
JPH11338818A
JPH11338818A JP14543298A JP14543298A JPH11338818A JP H11338818 A JPH11338818 A JP H11338818A JP 14543298 A JP14543298 A JP 14543298A JP 14543298 A JP14543298 A JP 14543298A JP H11338818 A JPH11338818 A JP H11338818A
Authority
JP
Japan
Prior art keywords
cpu
data
bus
data bus
memory
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
JP14543298A
Other languages
English (en)
Inventor
Yoko Nakabayashi
洋子 中林
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP14543298A priority Critical patent/JPH11338818A/ja
Publication of JPH11338818A publication Critical patent/JPH11338818A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】異なるバスサイズのCPU間通信の場合、ソフ
トウェアでなくハードウェアでバスサイズ変換を行うこ
とにより通信の高速化を図る方法及び装置の提供。 【解決手段】CPU1のデータバスをバイト単位に分割
し、メモリからのデータバスを、複数の双方性バッファ
を介して順次分岐させていくことでメモリとCPU1の
データバス間を接続しアドレスの所定の下位ビット信号
により複数の双方向バッファの開閉を制御し、エンディ
アン変換回路は、前記エンディアン変換回路の双方のデ
ータバスの、バス接続を、CPU間のエンディアン方式
の相違に応じて入れ換える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置のデ
ータ転送技術に関し、特に情報処理装置において異なる
エンディアン方式のCPU間通信を高速化するデータ転
送方法及び装置に関する。
【0002】
【従来の技術】図18は、エンディアンの異なったCP
Uのデータのメモリ上配置について説明するための図で
ある。
【0003】エンディアン方式には、リトルエンディア
ンとビッグエンディアンの2つの方式がある。図18に
おいて、各アルファベット1桁(4ビット)は16進数
(ヘキサデシマル)の数(0〜F)を表す。図18
(a)に示す2バイト長のデータをメモリに格納する
際、図18(b)に示すように、下位データ(下位バイ
トデータ;「BB」)をアドレスの低い方に、上位デー
タ(上位バイトデータ;「AA」)をアドレスの高い方
に格納する方式がリトルエンディアン方式であり、図1
8(c)に示すように、下位データをアドレスの高い方
に、上位データをアドレスの低い方に格納する方式がビ
ッグエンディアン方式である。
【0004】同様に、図19(a)に示す4バイト長の
データをメモリに格納する際、図19(b)に示すよう
に、下位データをアドレスの低い方に格納する方式がリ
トルエンディアン方式であり、図19(c)に示すよう
に、下位データをアドレスの高い方に、上位データをア
ドレスの低い方に格納する方式がビッグエンディアンで
ある。
【0005】次に図15乃至図17、図5乃至図9を参
照して、異なるエンディアン方式のCPU間通信につい
て説明する。
【0006】図16は、メモリ3を介した異なるエンデ
ィアン方式のCPU間通信を示す図であり、CPU1と
CPU2は異なるエンディアン方式である。CPU1
は、データバス4〜7の4本のデータバスの接続が可能
である。1本のデータバスは8本(8ビット)のデータ
信号からなる。CPU1は4バイト(32ビット幅)の
データを1度に送受信可能である。
【0007】またCPU2は、データバス8、9の接続
が可能であるため、2バイト(16ビット幅)のデータ
を1度に送受信可能である。
【0008】CPU1でアクセスされるメモリ3のメモ
リ領域を図7に示す。CPU1でのメモリ3のメモリ領
域は、アドレス1000番地から始まるものとする。図
7は、1000番地のデータはBB、1001番地のデ
ータはAAであることを示している。
【0009】図7及び図16を参照すると、CPU1の
データバス6、7は未接続であるので、メモリ3におい
て、領域IIにデータは格納されていない。
【0010】CPU2でアクセスされるメモリ3のメモ
リ領域を図9に示す。CPU2でのメモリ3のメモリ領
域はアドレス2000番地から始まるものとする。
【0011】図7、及び図9から分かるように、エンデ
ィアンの異なるCPU間通信ではデータが格納されるア
ドレスが2バイト列で反転する。
【0012】同様に、図15は、メモリ3を介したCP
U間通信を示すものであり、CPU1とCPU2は異な
るエンディアン方式である。CPU1は、データバス4
〜7の4本のデータバスの接続が可能である。1本のデ
ータバスは8本のデータ信号からなり、CPU1は4バ
イトのデータが1度に送受信可能である。またCPU2
もデータバス8〜11の接続が可能であり、4バイトの
データが1度に送受信可能である。
【0013】図5に、CPU1でのメモリ3のメモリ領
域を示す。CPU1でのメモリ3のメモリ領域はアドレ
ス1000番地から始まるものとする。図5は、100
0、1001、1002、1003番地のデータが、A
A、BB、CC、DDであることを示している。なお、
図5のデータバス8、9、10、11は、図15のデー
タバス4、5、6、7に対応している。
【0014】図6に、CPU2でのメモリ3のメモリ領
域を示す。CPU2でのメモリ3のメモリ領域はアドレ
ス2000番地から始まるものとする。なお、図6のデ
ータバス24、25、26、27は、図15のデータバ
ス8、9、10、11に対応している。
【0015】図5、及び図6から分かるように、エンデ
ィアンの異なるCPU間通信ではデータが格納されるア
ドレスが4バイト列で反転する。
【0016】このため図15、図16に示すようなメモ
リ3を介したCPU間通信の場合、CPUのエンディア
ン方式が異なると、データが格納されるアドレスが異な
る為、通信するCPUのエンディアン方式に応じてデー
タ配置の入れ替えをハードウェアもしくはソフトウェア
処理で予め制御しておく必要がある。
【0017】そして図16に示す構成では、メモリ3を
介した異なるデータバスサイズのCPU間通信を示して
おり、CPU1は4バイトのデータが1度に送受信可能
である。またCPU2はデータバス8、9の接続が可能
であるため2バイトのデータが1度に送受信可能であ
る。
【0018】バスサイズの異なるCPU1とCPU2の
通信ではCPU1のデータバス6、7は未使用とされて
おり、図7に示すように、データバス4、5を使って転
送されるデータのデータ領域を領域I、データバス6、
7を使って転送されるデータのデータ領域を領域IIとす
ると、領域IIは使用されない。
【0019】このためCPU1において有効なアドレス
値は1000番地、1001番地、1004番地、10
05番地、…というように不連続になる。
【0020】図17は、メモリ3を介した異なるデータ
バスサイズのCPU間通信を示す図である。CPU1は
4バイトのデータが1度に送受信可能である。またCP
U2はデータバス8のみの接続が可能であるので1バイ
トのデータが1度に送受信可能である。
【0021】バスサイズの異なるCPU1とCPU2の
通信ではCPU1のデータバス5〜7は未使用とされて
いる。図8に示すように、データバス4を使って転送さ
れるデータのデータ領域を領域I、データバス5〜7を
使って転送されるデータのデータ領域を領域II、III、I
Vとすると、領域II、III、IVは使用されない。
【0022】このためCPU1において有効なアドレス
値は1000番地、1004番地、1008番地、…と
いうように不連続になる。
【0023】なお、エンディアン方式及びデータバスサ
イズが相違する装置間の従来のデータ転送装置として、
例えば特開平10−21207号公報には、エンディア
ン方式、データバスサイズが異なるCPU間でも通信を
可能とするCPU間通信装置として、第1CPUと、第
1CPUよりデータサイズが小さく、且つエンディアン
方式が前記第1のCPUと異なる第2のCPUと、前記
第1のCPUのデータバスに接続されると共に、前記第
2のCPUと同じデータバスサイズの第1の通信用デー
タバスに接続され、前記第1のCPUがアクセスするア
ドレスに基づいて前記第1のCPUのデータバスの各バ
イトと接続関係を制御するデータバスサイズ変換回路
と、前記第1の通信用データバスに接続されるととも
に、前記第1の通信用データバスと同じサイズの第2の
通信用データバスに接続され、前記第1の通信用データ
バスと前記第2の通信用データバスとの間でやりとりさ
れるデータの上位バイトと下位バイトとを入れ替えるエ
ンディアン変換回路と、前記第2の通信用データバスに
接続されると共に前記第2のCPUのデータバスに接続
されたメモリを備え、データバスサイズ変換回路は、第
1のCPUのデータバスの各バイト毎に設けられ、一方
の入出力端に第1のCPUのデータバスのバイトが接続
され、他方の入出力端に第1の通信用データバスの所定
バイトが接続され、前記第1のCPUがアクセスするア
ドレスに基づいて双方向バッファの開閉を制御する制御
回路を備えた構成が提案されている。
【0024】
【発明が解決しようとする課題】上記したように、デー
タバスサイズの異なるCPU間での通信を行う場合、使
用するアドレスが不連続となるように、ソフトウェア
(CPUで実行される命令)にて制御する必要があっ
た。このため、CPU間通信の高速化を困難としてい
た。
【0025】また異なるエンディアン方式のCPU間通
信の場合、エンディアン変換のための回路構成が複雑な
ものとなっていた。
【0026】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、異なるバスサイ
ズのCPU間通信の場合、ソフトウェアでなくハードウ
ェアでバスサイズ変換を行うことにより通信の高速化を
図るCPUデータ転送方法及び装置を提供することにあ
る。
【0027】また本発明の他の目的は、バスサイズの大
きいCPUのデータバスを全て使用することでCPUと
同じバスサイズの周辺装置との通信を効率化するデータ
転送方法及び装置を提供することにある。
【0028】さらに、本発明の他の目的は、異なるエン
ディアン方式のCPU間通信の場合、エンディアン変換
を容易に制御可能とするデータ転送方法及び装置を提供
することにある。
【0029】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、第1のCPUと、前記第1のCPUとエ
ンディアン方式の相違する第2のCPUと、前記第1の
CPU及び前記第2のCPUからアクセスされるメモリ
と、を少なくとも備えた情報処理装置において、前記第
1のCPUのデータバスと前記メモリとの間にエンディ
アン変換回路を備え、前記エンディアン変換回路は、前
記第1のCPU側から前記エンディアン変換回路に接続
するデータバスと、前記メモリと前記エンディアン変換
回路との間のデータバスとのデータ線の接続を、好まし
くはスイッチにより、前記第1、第2のCPUのエンデ
ィアン方式の相違に応じて切り換える構成とされ、エン
ディアン方式の相違によらず、前記第1のCPUにおい
て前記第2のCPUが前記メモリに書き込んだデータ配
置と同じデータを読み出し可能としたものである。
【0030】また、本発明は、第1のバスサイズのデー
タバスを有する第1のCPUと、前記第1のサイズより
も小さい第2のバスサイズのデータバスを有する第2の
CPUと、前記第1のCPU及び前記第2のCPUから
アクセスされるメモリと、を少なくとも備えた情報処理
装置において、前記第1のCPUのデータバスを第2の
所定ビット幅単位に分割し、前記メモリから前記第2の
バスサイズのデータバスを、複数の双方性バッファを介
して前記第2のバスサイズの複数倍のデータバスに順次
分岐させていくことで前記メモリと前記第1のCPUの
データバス間を接続し、前記第1のCPUのアドレスの
所定の下位ビット信号により前記複数の双方向バッファ
の開閉を制御し、データバスのバスサイズの相違によら
ず、前記第1のCPUでは連続したアドレスを用いて前
記メモリからデータの読み出しを可能としたものであ
る。
【0031】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明の一実施の形態は、図1を参照する
と、CPU(1)と、CPU(1)とエンディアン方式
の相違するCPU(4)と、CPU(1)及びCPU
(4)からアクセスされるメモリ(7)と、を少なくと
も備え、CPU(1)とメモリ(7)との間にエンディ
アン変換回路(33)を備え、エンディアン変換回路
(33)は、CPU(1)側から該エンディアン変換回
路に接続するデータバス(8、9、10、11)と、メ
モリ(7)とエンディアン変換回路(33)との間のデ
ータバス(17、18、19、20)との、データ線間
の接続を、スイッチ(35)の設定により、CPUのエ
ンディアン方式の相違に応じて切り換え、エンディアン
方式の相違によらず、CPU(1)においてCPU
(4)がメモリ(7)に書き込んだデータ配置と同じデ
ータを読み出し可能としたものである。
【0032】また本発明の一実施の形態は、図1を参照
すると、第1のバスサイズのデータバスを有するCPU
(1)と、第1のバスサイズよりも小さい第2のバスサ
イズのデータバスを有するCPU(2)と、CPU
(1)及びCPU(2)からアクセスされるメモリ
(5)と、を少なくとも備えた情報処理装置において、
CPU(1)のデータバスをバイト単位に分割し(8、
9、10、11)、メモリ(5)からの第2のバスサイ
ズのデータバス(14)を、複数の双方性バッファ(3
0、31、28、29)を介して第2のバスサイズの複
数倍のデータバスに順次分岐させていくことで、メモリ
(5)とCPU(1)のデータバス間を接続し、CPU
(1)のアドレスの所定の下位ビット信号により複数の
双方向バッファ(28、29、30、31)の開閉を制
御し、データバスのバスサイズの相違によらず、CPU
(1)では連続したアドレスを用いてメモリ(5)から
データの読み出しを可能としたものである。
【0033】また本発明の別の実施の形態において、図
4を参照すると、CPU(1)と、CPUのデータバス
とデータの授受を行いエンディアン方式の相違する周辺
デバイス(47)と、を少なくとも備えた情報処理装置
において、CPU(1)のデータバスと周辺デバイス
(47)との間にエンディアン変換回路(33)を備
え、CPU側からエンディアン変換回路(33)に接続
するデータバス(8、9、10、11)と、周辺デバイ
ス(47)とエンディアン変換回路(33)との間のデ
ータバス(17、18、19、20)との、データ線間
の接続を、スイッチ(35)によりエンディアン方式の
相違に応じて切り換える構成としてもよい。
【0034】また本発明の別の実施の形態において、図
4を参照すると、第1のバスサイズのデータバスを有す
るCPU(1)と、第1のバスサイズよりも小さい第2
のバスサイズのデータバスを有する周辺デバイス(4
5)と、を少なくとも備えた情報処理装置において、C
PU(1)のデータバスをバイト単位に分割し、周辺デ
バイス(45)からのデータバスを、複数の双方性バッ
ファ(30、31、28、29)を介して第2のバスサ
イズの複数倍のデータバスに順次分岐させていくこと
で、周辺デバイス(5)とCPU(1)のデータバス間
を接続し、CPU(1)のアドレスの所定の下位ビット
信号により複数の双方向バッファ(30、31、28、
29)の開閉を制御するように構成してもよい。
【0035】
【実施例】次に、上記した本発明の実施の形態について
さらに詳細に説明すべく、本発明の実施例について図面
を参照して説明する。
【0036】図1は、本発明の一実施例の構成を示す図
である。図1を参照すると、CPU1、CPU4にはデ
ータバスが4本接続可能であり、CPU2にはデータバ
スが1本接続可能であり、CPU3にはデータバスが2
本接続可能である。
【0037】1本のデータバスは8本(8ビット)のデ
ータ信号からなり、CPU1、及びCPU4は1度に4
バイト(32ビット幅)のデータが送受信可能であり、
CPU2は1度に2バイト(16ビット幅)のデータが
送受信可能であり、CPU3は1度に1バイト(8ビッ
ト幅)のデータが送受信可能である。
【0038】CPU1にはデータバス8〜11、CPU
2にはデータバス21、CPU3にはデータバス22、
23、またCPU4にはデータバス24〜27がそれぞ
れ接続され、双方向バッファ28の一方の入出力端には
データバス8、9、他方の入出力端にはデータバス1
2、13が接続され、双方向バッファ29の一方の入出
力端にはデータバス10、11、他方の入出力端にはデ
ータバス12、13が接続され、双方バッファ30には
データバス12、14、双方バッファ31にはデータバ
ス13、14が対向して接続されている。
【0039】エンディアン変換回路32にはデータバス
12、13とデータバス15、16が、エンディアン変
換回路33にはデータバス8〜11とデータバス17〜
20が対向して接続されている。
【0040】エンディアン変換回路32、33では、そ
れぞれ手動スイッチ34、35を制御することで、バス
の入れ替えを行う。
【0041】アドレス信号37は双方向バッファ28、
アドレス信号37の反転データが双方向バッファ29の
制御端子に接続されており、アドレス信号38は双方向
バッファ30、アドレス信号38の反転データが双方向
バッファ31の制御端子に接続されており、双方向バッ
ファのゲートの制御を行う。各CPU1、2、3、4、
メモリ5、6、7には、アドレスバス36が共通接続さ
れている。
【0042】次に本発明の一実施例の動作について図1
を参照して詳細に説明する。
【0043】まず、CPU1とCPU4間の通信につい
て説明する。CPU1とCPU4が共にビッグエンディ
アン方式、すなわち両者共に同じエンディアン方式であ
り、CPU4がメモリ7のあるデータ領域へロングワー
ド単位でデータを書き込み、これをCPU1がそのデー
タをメモリ7から読み出す場合について説明する。
【0044】エンディアン変換回路33には、CPU1
とCPU4が共にビッグエンディアン方式であること
を、手動スイッチ35にて、記憶させておく。
【0045】CPU4は、メモリ7の、例えばアドレス
2000番地に、ロングワードアクセスで、図10に示
すようなデータ(4バイトデータ)を書き込む。各アル
ファベットの1桁は16進数(ヘキサデシマル表示の4
ビット)を表す。
【0046】この時、上位データAAはデータバス2
4、データBBはデータバス25、データCCはデータ
バス26、データDDはデータバス27上をそれぞれ転
送されてメモリ7に書き込まれる。
【0047】CPU1がメモリ7からこのデータを読み
出すには、CPU1は、メモリ7のアドレス1000番
地にロングワードアクセスで読み出す。
【0048】CPU1とCPU4は同じエンディアン方
式であるので、エンディアン変換回路33ではデータバ
ス17をデータバス8に、データバス18をデータバス
9に、データバス19をデータバス10に、データバス
20をデータバス11に接続する。
【0049】この接続の詳細を、図2を参照して説明す
る。データバス8の各データ信号をデータ信号81〜8
8、データバス9の各データ信号をデータ信号91〜9
8、データバス10の各データ信号をデータ信号101
〜108、データバス11の各データ信号をデータ信号
111〜118、データバス17の各データ信号をデー
タ信号171〜178、データバス18の各データ信号
をデータ信号181〜188、データバス19の各デー
タ信号をデータ信号191〜198、データバス20の
各データ信号をデータ信号201〜208とする。
【0050】この時、データバス17はデータバス8に
接続されるので、データ信号171はデータ信号81
に、データ信号172はデータ信号82に、という具合
に接続される。
【0051】このため、読み出し時、メモリ7に書き込
まれたデータAAは、データバス17、8上を転送さ
れ、CPU1の上位バイトとして読み込まれ、データB
Bはデータバス18、9上を転送され、データCCはデ
ータバス19、10上を転送され、データDDはデータ
バス20、11上を転送されてCPU1に読み込まれる
ことになり、CPU1で読み出されたデータのデータ配
置は、図5に示すようなものとなる。
【0052】次に、CPU1がビッグエンディアン方
式、CPU4がリトルエンディアン方式、すなわち両者
が異なるエンディアン方式であり、CPU4がメモリ7
のあるデータ領域へロングワード単位でデータを書き込
み、これをCPU1がそのデータをメモリ7から読み出
す場合について説明する。
【0053】エンディアン変換回路33にはCPU1と
CPU4が異なるエンディアン方式であることを手動ス
イッチ35で記憶させておく。
【0054】CPU4は、メモリ7のアドレス2000
番地にロングワードアクセスにて、図6に示すようなデ
ータを書き込む。各アルファベットの1桁は16進数を
表す。
【0055】この時、上位データAAはデータバス2
7、データBBはデータバス26、データCCはデータ
バス25、データDDはデータバス24上を転送され、
メモリ7に書き込まれる。
【0056】CPU1がこのデータを読み出す場合、C
PU1はメモリ7のアドレス1000番地にロングワー
ドアクセスで読み出す。
【0057】CPU1とCPU4は異なるエンディアン
方式であるため、エンディアン変換回路33では、手動
スイッチ35によって、データバス17をデータバス1
1に、データバス18をデータバス10に、データバス
19をデータバス9に、データバス20をデータバス8
に接続する。
【0058】この接続の詳細を図2を参照して説明す
る。この場合、メモリ7とエンディアン変換回路33の
間のデータバス17は、CPU1とエンディアン変換回
路33の間のデータバス11に接続されるので、データ
信号171はデータ信号111に、データ信号172は
データ信号112に、という具合に接続される。
【0059】このため、読み出し時、メモリ7に書き込
まれたデータDDはデータバス17、11上を転送さ
れ、CPU1の下位バイトとして読み込まれ、データC
Cはデータバス18、10上を転送され、データBBは
データバス19、9上を転送され、データAAはデータ
バス20、8上を転送され、CPU1に読み込まれる。
このため、CPU1で読み出されるデータのデータ配置
は、図5に示すようなものとなる。
【0060】このように、エンディアン変換を行うこと
で、CPU1ではCPU4のエンディアン方式によら
ず、メモリ7より同じデータ配置の正しいデータを読む
出すことができる。
【0061】次に、CPU1とCPU3間の通信につい
て説明する。CPU1とCPU2が両者共ビッグエンデ
ィアン方式、つまり両者共に同じエンディアン方式であ
り、CPU3がメモリ6のあるデータ領域へワード単位
でデータを書き込み、これをCPU1がそのデータをメ
モリ6から読み出す場合について説明する。
【0062】エンディアン変換回路32にはCPU1と
CPU3が共にビッグエンディアン方式であることを手
動スイッチ34で記憶させておく。
【0063】CPU3は、メモリ6のアドレス2000
番地にワードアクセスにて、図9に示すようなデータを
書き込む。各アルファベットの1桁は16進数を表す。
【0064】この時、上位データAAはデータバス22
に、データBBはデータバス23にのりメモリ6に書き
込まれる。
【0065】CPU1がこのデータを読み出す場合、C
PU1はメモリ6のアドレス1000番地にワードアク
セスで読み出す。
【0066】CPU1とCPU3は同じエンディアン方
式であるので、手動スイッチ31を切り替えることで、
エンディアン変換回路29ではデータバス15をデータ
バス12に、データバス16をデータバス11に接続す
る。
【0067】この接続の詳細を図3を参照して説明す
る。データバス12の各データ信号をデータ信号121
〜128、データバス13の各データ信号をデータ信号
131〜138、データバス15の各データ信号をデー
タ信号151〜158、データバス16の各データ信号
をデータ信号161〜168とする。この時、データバ
ス15はデータバス12に接続されるので、データ信号
151はデータ信号121に、データ信号152はデー
タ信号122に、という具合に接続される。このため、
メモリ6に書き込まれたデータAAはデータバス15、
12にのり、CPU1の上位バイトとして読み出され、
データBBはデータバス116、13にのりCPU1の
下位バイトとして読み出される。
【0068】ところで、CPU1とCPU3とはバスサ
イズが異なるため、これを双方向バッファ21、22で
制御する。
【0069】アドレス信号の値について図12を参照し
て説明する。図12は、CPU1のアドレスとこのアド
レス値の下位4ビットの関係を示す。
【0070】アドレス値の下から2ビット目A2=
“0”の場合、この4ビットは16進数で表すと、0、
1、4、5、8、9、C、Dのいずれかになり、データ
は、図11のデータ領域Iに存在する。
【0071】また、A2=“1”の場合、この4ビット
は2、3、6、7、A、B、E、Fのいずれかになり、
データは図11のデータ領域IIに存在する。
【0072】このため、アドレス信号37(A2)=
“0”の場合、双方向バッファ28を開き、アドレス信
号(A2)=“1”の場合、双方向バッファ29を開く
動作を行う。
【0073】これにより、読み出し時、データAAはデ
ータバス12、8上を転送されCPU1の上位バイトと
して読み込まれ、データBBはデータバス13、9上を
転送され、データCCはデータバス12、10上を転送
され、データDDはデータバス13、11上を転送さ
れ、CPU1より読み込まれる。
【0074】このようにCPU1で読み込まれた結果、
データ配置は、図5に示すようなものとなり、アドレス
は1000、1001、1002、1003、1004
というように連続した領域が使用される。
【0075】次にCPU1がリトルエンディアン方式、
CPU3がビッグエンディアン方式、つまり両者が異な
るエンディアン方式であり、CPU3がメモリ6のある
データ領域へワード単位でデータを書き込み、これをC
PU1がそのデータをメモリ6から読み出す場合につい
て説明する。
【0076】エンディアン変換回路32には、CPU1
とCPU3が異なるエンディアン方式であることを、手
動スイッチ34で記憶させておく。
【0077】CPU2はメモリ6のアドレス2000番
地にワードアクセスにて、図13に示すようなデータを
書き込む。各アルファベットの1桁は16進数を表す。
【0078】この時、上位データBBはデータバス22
上を転送され、データAAはデータバス23上を転送さ
れメモリ6に書き込まれる。
【0079】CPU1がこのデータを読み込むためには
CPU1はメモリ7のアドレス1000番地にワードア
クセスで読み出す。CPU1とCPU3は異なるエンデ
ィアン方式であることから、エンディアン変換回路32
ではデータバス15をデータバス13に、データバス1
6をデータバス12に接続する。
【0080】この接続の詳細を図3を参照して説明す
る。この場合、データバス15はデータバス13に接続
されるので、データ信号151はデータ信号131に、
データ信号152はデータ信号132に、というように
接続される。このため、読み出し時、メモリ6に書き込
まれたデータBB15、13にのり、CPU1の下位バ
イトとして読み込まれ、データAAはデータバス16、
12にのりCPU1に読み込まれる。
【0081】CPU1とCPU3とはバスサイズが異な
るため、CPU1とCPU3が両者共に同じエンディア
ン方式の場合と同様に双方バッファ28、29の制御が
行われ、データAAはデータバス12、8上を転送され
CPU1の上位バイトとして読み込まれ、データBBは
データバス13、9上を転送され、データCCはデータ
バス12、10上を転送され、データDDはデータバス
13、11上を転送されCPU1より読み込まれる。
【0082】このように、CPU1で読み込まれた結
果、データ配置は図5に示すようなものとなり、アドレ
スは1000、1001、1002、1003、100
4、というように連続した領域が使用される。
【0083】エンディアン変換を行うことで、CPU1
では、CPU3のエンディアン方式によらず、メモリ6
より、同じデータ配置の正しいデータを読むことができ
る。また双方向バッファ28、29を制御して、CPU
1では、データバスサイズによらず、連続したアドレス
を全領域を使用してデータを読み込むことができる。
【0084】最後にCPU1とCPU2間の通信につい
て説明する。この場合、CPU2はバイトアクセスで1
バイトずつデータを送受信するので、エンディアン方式
の相違によるデータバスの変換は行われない。
【0085】CPU2はメモリ5のアドレス2000番
地にバイトアクセスで図14に示すようなデータを書き
込む。各アルファベットの1桁は16進数を表す。上位
データAAはデータバス21にのりメモリ5に書き込ま
れる。
【0086】CPU1がこのデータを読み出すには、C
PU1はメモリ5のアドレス1000番地にバイトアク
セスで読み出す。
【0087】ここでCPU1とCPU2はバスサイズが
異なるため、これを双方向バッファ28〜31で制御す
る。アドレス信号の値について図12を参照して説明す
る。図12は、CPU1のアドレスとこのアドレス値の
下位4ビットの関係を示す。
【0088】アドレス値の下から2ビット分のA1=
“0”かつA2=“0”の場合、この4ビットは16進
数で表すと0、4、8、Cのいずれかになり、データは
図8のデータ領域Iに存在する。
【0089】また、A1=“1”かつA2=“0”の場
合、この4ビットは1、5、9、Dのいずれかになり、
データはデータ領域IIに存在する。
【0090】またA1=“0”かつA2=“1”の場
合、この4ビットは16進数で表すと2、6、A、Eの
いずれかになり、データは、図8のデータ領域IIIに存
在する。
【0091】またA1=“1”かつA2=“1”の場
合、この4ビットは3、7、B、Fのいずれかになり、
データは、図8のデータ領域IVに存在する。
【0092】このため、アドレス信号38(A1)=
“0”、アドレス信号37(A2)=“0”の場合、双
方向バッファ30、28を開き、アドレス信号38(A
1)=“1”、アドレス信号37(A2)=“0”の場
合、双方向バッファ31、28を開く動作を行う。
【0093】またアドレス信号38(A1)=“0”、
アドレス信号37(A2)=“1”、の場合、双方向バ
ッファ30、29を開き、アドレス信号38(A1)=
“1”、アドレス信号37(A2)=“1”の場合、双
方向バッファ31、29を開く動作を行う。
【0094】これにより、データAAはデータバス1
4、12、8にのりCPU1の上位バイトとして読み出
され、データBBはデータバス14、13、9にのり、
データCCはデータバス14、12、10にのり、デー
タDDはデータバス14、13、11にのりCPU1よ
り読み込まれる。
【0095】このようにしてCPU1に読み込まれた結
果、データ配置は、図5に示すようになり、アドレスは
1000、1001、1002、1003、1004、
というように連続した領域が使用される。
【0096】本発明の第二の実施例について図4を参照
して説明する。
【0097】図4を参照すると、本発明の第二の実施例
は、図1から、CPU2〜4を削除し、メモリ5〜7に
メモリに限定せずに、メモリに替わって、周辺デバイス
45〜47を配置したものである。デバイス45、46
とCPU1はデータバスサイズが相違し、デバイス47
とCPU1とはデータバスサイズは同一である。本発明
の第二の実施例においても、前記第一の実施例と同様の
動作原理に従い、バスサイズの異なる周辺デバイスとも
ハードウェアでバスサイズ変換を行うことで、通信の高
速化/効率化を図るようにしたものであ。
【0098】また接続する周辺デバイスのエンディアン
方式に応じて、ハードウェアでエンディアン変換を容易
に行うことができる。
【0099】
【発明の効果】以上説明したように、本発明によれば、
下記記載の効果を奏する。
【0100】本発明の第一の効果は、異なるバスサイズ
のCPU間もしくはCPUと周辺デバイス間の通信を高
速かつ効率的とする、ということである。
【0101】その理由は、本発明においては、バスサイ
ズの変換をソフトウェアでなくてハードウェアで行うと
共に、CPUの全てのデータバスを使用しているためで
るあ。このため、同じバスサイズをもつ周辺装置と無駄
なく接続を行うことができる。
【0102】本発明の第二の効果は、CPU間もしくは
CPUと周辺デバイス間通信で、エンディアン方式の異
なるCPUへの変更が容易にできる、ということであ
る。
【0103】その理由は、本発明においては、通信する
CPU間もしくは周辺デバイスとのエンディアン方式に
応じて、ハードウェアでデータバスの入れ替えを行うた
めである。
【図面の簡単な説明】
【図1】本発明の第一の実施例の構成を示す図である。
【図2】本発明の第一の実施例におけるエンディアン変
換回路のデータバスの接続を示す図である。
【図3】本発明の第一の実施例におけるエンディアン変
換回路のデータバスの接続を示す図である。
【図4】本発明の第二の実施例の構成を示す図である。
【図5】メモリのデータ配置を示す図である。
【図6】メモリのデータ配置を示す図である。
【図7】メモリのデータ配置を示す図である。
【図8】メモリのデータ配置を示す図である。
【図9】メモリのデータ配置を示す図である。
【図10】メモリのデータ配置を示す図である。
【図11】メモリのデータ配置を示す図である。
【図12】本発明の第一の実施例におけるCPU1のア
クセスアドレスを示す図である。
【図13】メモリのデータ配置を示す図である。
【図14】メモリのデータ配置を示す図である。
【図15】CPU間通信を説明するための図である。
【図16】データバスサイズが相違するCPU間通信を
説明するための図である。
【図17】データバスサイズが相違するCPU間通信を
説明するための図である。
【図18】エンディアン方式を説明するための図であ
る。
【図19】エンディアン方式を説明するための図であ
る。
【符号の説明】
1、2、3、4 CPU 5、6、7 メモリ 8〜27 データバス 28〜31 双方向バッファ 32、33 エンディアン変換回路 34、35 手動スイッチ 36、37、38 アドレス信号 45、46、47 デバイス

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】第1のCPUと、 前記第1のCPUとエンディアン方式の相違する第2の
    CPUと、 前記第1のCPU及び前記第2のCPUからアクセスさ
    れるメモリと、 を少なくとも備えた情報処理装置において、 前記第1のCPUと前記メモリとの間にエンディアン変
    換回路を備え、 前記エンディアン変換回路は、前記第1のCPU側から
    前記エンディアン変換回路に接続するデータバスと、前
    記メモリと前記エンディアン変換回路との間のデータバ
    スとのデータ線間の接続を、前記第1、第2のCPUの
    エンディアン方式の相違に応じて切り換える構成とさ
    れ、エンディアン方式の相違によらず、前記CPU間で
    前記メモリに書き込まれたデータ配置と同じデータを読
    み出し可能としたことを特徴とする情報処理装置。
  2. 【請求項2】第1のバスサイズのデータバスを有する第
    1のCPUと、 前記第1のバスサイズよりも幅の小さい第2のバスサイ
    ズのデータバスを有する第2のCPUと、 前記第1のCPU及び前記第2のCPUからアクセスさ
    れるメモリと、 を少なくとも備えた情報処理装置において、 前記第1のCPUのデータバスを所定バスサイズ単位に
    分割し、前記メモリに接続する前記第2のバスサイズの
    データバスを、複数の双方性バッファを介して前記第2
    のサイズの複数倍のデータバスに順次分岐させていくこ
    とで前記メモリと前記第1のCPUのデータバス間を接
    続し、前記第1のCPUのアドレスの所定の下位ビット
    信号により前記複数の双方向バッファの開閉を制御し、
    データバスのサイズの相違によらず、前記第1のCPU
    では連続したアドレスを用いて前記メモリからデータの
    読み出しを可能としたことを特徴とする情報処理装置。
  3. 【請求項3】第1のバスサイズのデータバスを有する第
    1のCPUと、 前記第1のバスサイズよりも小さい第2のバスサイズの
    データバスを有し、前記第1のCPUとエンディアン方
    式の相違する第2のCPUと、 前記第1のCPU及び前記第2のCPUからアクセスさ
    れるメモリと、 を少なくとも備えた情報処理装置において、 前記第1のCPUのデータバスを所定のバスサイズ単位
    に分割し、前記メモリに接続する前記第2のバスサイズ
    のデータバスを、複数の双方性バッファを介して前記第
    2のバスサイズの複数倍のデータバスに順次分岐させて
    いくことで前記メモリと前記第1のCPUのデータバス
    間を接続し、前記第1のCPUのアドレスの所定の下位
    ビット信号により前記複数の双方向バッファの開閉を制
    御し、 前記メモリと、前記メモリの前記第1のCPU側の第2
    のバスサイズのデータバス上において前記双方性バッフ
    ァに分岐する前にエンディアン変換回路を備え、 前記エンディアン変換回路は、前記双方向バッファから
    前記エンディアン変換回路に接続するデータバスと、前
    記メモリと前記エンディアン変換回路との間のデータバ
    スとのデータ線間の接続を、前記第1、第2のCPUの
    エンディアン方式の相違に応じて切り換えるように構成
    されていることを特徴とする情報処理装置。
  4. 【請求項4】CPUと、 前記CPUのデータバスとデータの授受を行いエンディ
    アン方式の相違する周辺デバイスと、 を少なくとも備えた情報処理装置において、 前記CPUのデータバスと前周辺デバイスとの間にエン
    ディアン変換回路を備え、 前記エンディアン変換回路は、前記CPU側から前記エ
    ンディアン変換回路に接続するデータバスと、前記周辺
    デバイスと前記エンディアン変換回路との間のデータバ
    スとのデータ線間の接続を、エンディアン方式の相違に
    応じて切り換えるように構成されていることを特徴とす
    る情報処理装置。
  5. 【請求項5】第1のバスサイズのデータバスを有するC
    PUと、 前記第1のバスサイズよりも小さい第2のバスサイズの
    データバスを有する周辺デバイスと、 を少なくとも備えた情報処理装置において、 前記CPUのデータバスを所定のバスサイズ単位に分割
    し、前記周辺デバイスからの前記第2のサイズのデータ
    バスを、複数の双方性バッファを介して前記第2のバス
    サイズの複数倍のデータバスに順次分岐させていくこと
    で前記周辺デバイスと前記CPUのデータバス間を接続
    し、前記CPUのアドレスの所定の下位ビット信号によ
    り前記複数の双方向バッファの開閉を制御するように構
    成したことを特徴とする情報処理装置。
  6. 【請求項6】前記エンディアン変換回路が、スイッチに
    より、前記エンディアン変換回路に接続する双方のデー
    タバスのデータ線間の接続の入れ替えが設定されること
    を特徴とする請求項1、3、4のいずれか一に記載の情
    報処理装置。
  7. 【請求項7】第1のCPUと、 前記第1のCPUとエンディアン方式の相違する第2の
    CPUと、 前記第1のCPU及び前記第2のCPUからアクセスさ
    れるメモリと、 を少なくとも備えた情報処理装置におけるCPU間のデ
    ータ転送方法において、 前記第1のCPUと前記メモリとの間にエンディアン変
    換回路を備え、 前記エンディアン変換回路にて、前記第1、第2のCP
    Uのエンディアン方式の相違に応じて、スイッチによ
    り、前記第1のCPU側から前記エンディアン変換回路
    に接続するデータバスと、前記メモリと前記エンディア
    ン変換回路との間のデータバスとのデータ線間の接続を
    切り換えることで、エンディアン方式の相違によらず、
    前記第1のCPUにおいて前記第2のCPUが前記メモ
    リに書き込んだデータ配置と同じデータを読み出し可能
    としたことを特徴とするデータ転送方法。
  8. 【請求項8】第1のバスサイズのデータバスを有する第
    1のCPUと、 前記第1のバスサイズよりも幅の小さい第2のバスサイ
    ズのデータバスを有する第2のCPUと、 前記第1のCPU及び前記第2のCPUからアクセスさ
    れるメモリと、 を少なくとも備えた情報処理装置におけるCPU間のデ
    ータ転送方法において、 前記第1のCPUのデータバスを所定のバスサイズ単位
    に分割し、前記メモリからの前記第2のバスサイズのデ
    ータバスを、複数の双方性バッファを介して前記第2の
    サイズの複数倍のデータバスに順次分岐させていくこと
    で前記メモリと前記第1のCPUのデータバス間を接続
    し、前記第1のCPUのアドレスの所定の下位ビット信
    号により前記複数の双方向バッファの開閉を制御し、デ
    ータバスのサイズの相違によらず、前記第1のCPUで
    は連続したアドレスを用いて前記メモリからデータの読
    み出しを可能としたことを特徴とするデータ転送方法。
JP14543298A 1998-05-27 1998-05-27 データ転送方法及び装置 Pending JPH11338818A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14543298A JPH11338818A (ja) 1998-05-27 1998-05-27 データ転送方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14543298A JPH11338818A (ja) 1998-05-27 1998-05-27 データ転送方法及び装置

Publications (1)

Publication Number Publication Date
JPH11338818A true JPH11338818A (ja) 1999-12-10

Family

ID=15385119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14543298A Pending JPH11338818A (ja) 1998-05-27 1998-05-27 データ転送方法及び装置

Country Status (1)

Country Link
JP (1) JPH11338818A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009253441A (ja) * 2008-04-02 2009-10-29 Sharp Corp 画像処理装置及び画像形成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009253441A (ja) * 2008-04-02 2009-10-29 Sharp Corp 画像処理装置及び画像形成装置

Similar Documents

Publication Publication Date Title
US4467447A (en) Information transferring apparatus
US6047120A (en) Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
US5568619A (en) Method and apparatus for configuring a bus-to-bus bridge
CA1324835C (en) Modular crossbar interconnection network for data transaction between system units in a multi-processor system
US4935868A (en) Multiple port bus interface controller with slave bus
US5857090A (en) Input/output subsystem having an integrated advanced programmable interrupt controller for use in a personal computer
JPH05204820A (ja) マイクロプロセッサ、処理システム、およびバスインタフェース
JPS6035696B2 (ja) デ−タ処理装置における母線制御装置
US5481678A (en) Data processor including selection mechanism for coupling internal and external request signals to interrupt and DMA controllers
KR100450680B1 (ko) 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템
KR100772287B1 (ko) 대규모 병렬 프로세서 어레이를 메모리 어레이에 비트직렬 방식으로 접속하는 방법 및 장치
US6823402B2 (en) Apparatus and method for distribution of signals from a high level data link controller to multiple digital signal processor cores
US20030145149A1 (en) External bus controller
US4723205A (en) Micro computer system
KR960001023B1 (ko) 이기종 버스시스템에서의 버스 공유방법 및 버스 스와핑장치
JPH11338818A (ja) データ転送方法及び装置
US6442643B1 (en) System and method for resolving data transfer incompatibilities between PCI and Non-PCI buses
JP2000099452A (ja) Dma制御装置
JPH1063617A (ja) シリアル通信装置
JPH10116225A (ja) アドレス変換回路及びマルチプロセッサシステム
SU1280643A1 (ru) Устройство дл сопр жени двух микро эвм с общей пам тью
JPS61267852A (ja) デ−タ・バス変換方式
KR19980083459A (ko) 데이터버스 사이즈 조정 장치
JPH05128279A (ja) ワンチツプマイクロコンピユータ
JPH10320175A (ja) エンディアン変換方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20021001