JPH10320175A - エンディアン変換方式 - Google Patents

エンディアン変換方式

Info

Publication number
JPH10320175A
JPH10320175A JP12521697A JP12521697A JPH10320175A JP H10320175 A JPH10320175 A JP H10320175A JP 12521697 A JP12521697 A JP 12521697A JP 12521697 A JP12521697 A JP 12521697A JP H10320175 A JPH10320175 A JP H10320175A
Authority
JP
Japan
Prior art keywords
endian
data
cpu
memory
access
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
JP12521697A
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 JP12521697A priority Critical patent/JPH10320175A/ja
Publication of JPH10320175A publication Critical patent/JPH10320175A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 メモリを介したCPU間通信の場合には、メ
モリへのアクセスはワードまたはバイト単位固定であっ
たために、メモリ内の必要な領域を読み書きするのにア
クセス回数が多くなったり、不必要な領域にアクセスし
なければならず、アクセス時間がかかり、メモリデバイ
スの寿命を縮めていた。メモリを介したCPU間通信の
場合には、通信するCPUのエンディアン方式に応じ
て、予めデータ配置をS/WもしくはH/Wで設定して
しまうので、片方のCPUをエンディアン方式の異なる
CPUに変更することが容易ではなかった。 【解決手段】 お互いに通信するCPU1、2のエンデ
ィアン方式、メモリ書き込み時のアクセス方式を記憶し
てデータバスの入れ換えを判断するエンディアン/アク
セス方式制御手段10と、通信する片方のCPUを異な
るエンディアン方式に変更してもデータバスを容易に入
れ換えられるエンディアン変換手段11、12を設け
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CPU間のデータ通信
に関し、特に、互いに通信するCPUのメモリへのアク
セス方式、エンディアン方式に対応するデータ通信にお
けるエンディアン変換方式に関する。
【0002】
【従来の技術】第1の従来例として、特開平6−699
78号公報に開示されたプロセッサ間通信方式があげら
れる。
【0003】この第1の従来例は、プロセッサ間通信の
エンディアンを統一し、相手プロセッサのエンディアン
を意識することなく通信を行うことを目的としており、
リトルエンディアンプロセッサからのパケットを、ビッ
グエンディアンプロセッサが受信した場合に、ビッグエ
ンディアンプロセッサは、受信したパケットのデータを
エンディアン変換処理部でリトルエンディアンからビッ
グエンディアンに変換する。ビッグエンディアンプロセ
ッサがリトルエンディアンプロセッサへパケットを送信
する場合には、ビッグエンディアンプロセッサは、パケ
ット処理部でビッグエンディアンとして生成されたパケ
ット上のデータを、上記のエンディアン変換処理部でリ
トルエンディアンに変換して相手プロセッサへ送信す
る。
【0004】第2の従来例として、特開平6−5210
2号公報に開示されたデータ転送装置があげられる。
【0005】この第2の従来例は、エンディアン形式の
異なる装置間において、様々な長さのデータ要素からな
るデータブロックの転送をプログラムによらず高速に行
うデータ転送装置を提供することを目的としたものであ
り、異なる長さのデータ要素が複数含まれてなるデータ
構造のデータブロックを転送元から受ける入力回路と、
この入力回路で受けたデータをデータ要素に組立て、転
送先のエンディアン形式に構造変換するデータ構造変換
部と、このデータ構造変換部によって構造変換されたデ
ータ要素を転送先へ与える出力回路と、転送するデータ
ブロックのデータ構造を保持するデータ構造保持回路
と、転送元のエンディアンと転送先のエンディアンを保
持するエンディアン保持回路と、データ構造変換部を制
御する制御回路とから構成されている。
【0006】従来の技術を図3、図4を参照して説明す
る。
【0007】図4はメモリ3を介した異なるデータバス
サイズのCPU間通信の従来例を示すブロック図であ
る。
【0008】図4において、CPU1はデータバス4、
5の2本のデータバスからなり、1本のデータバスは8
本のデータ信号からなる。つまりCPU1は2バイトの
データが1度に送受信可能である。またCPU2はデー
タバス6、7の2本のデータバスからなり、2バイトの
データが1度に送受信可能である。この時、メモリ3に
対するアクセス方式はワード単位もしくはバイト単位が
固定化されていた。
【0009】図3はエンディアン方式のデータ配置につ
いて示す図である。エンディアン方式にはリトルエンデ
ィアンとビッグエンディアンの2方式が知られている。
【0010】図中、各アルファベット、アドレス値の1
桁は16進数の数を表す。
【0011】図3(a)に示す2バイト長のデータをメ
モリに格納する際に、図3(b)に示すように下位デー
タをアドレスの低い方に、上位データをアドレスの高い
方に格納する方式がリトルエンディアン方式である。ま
た図3(c)に示すように、下位データをアドレスの高
い方に、上位データをアドレスの低い方に格納する方式
がビッグエンディアン方式である。
【0012】よって図4に示すようなメモリ3を介した
CPU間通信の場合には、CPUのエンディアン方式が
異なると、データが格納されるアドレスが異なるため
に、通信するCPUのエンディアン方式に応じてデータ
配置の入れ替えをH/WもしくはS/Wで予め制御して
おく必要があった。
【0013】
【発明が解決しようとする課題】しかしながら、叙上の
従来技術には以下に示す如き欠点があった。
【0014】第1の問題点は、図4に示すメモリを介し
たCPU間通信の場合には、ワード単位でアクセスする
か、バイト単位でアクセスするかは固定であったため
に、メモリ内の必要な領域を読み書きするのにアクセス
回数が多くなったり、不必要な領域にアクセスしなけれ
ばならなかった。
【0015】その理由を図3(b)を参照して説明す
る。メモリのアドレス0番地にBB、アドレス1番地に
AAの2バイト(1ワード)のデータが書かれている。
【0016】メモリに対するアクセス方式がバイト単位
固定の場合には、アドレス0番地のデータと1番地のデ
ータが必要であれば、CPUはアドレス0番地とアドレ
ス1番地の2回に分けてメモリにアクセスをしなければ
ならなかった。つまりワードアクセスでアドレス0番地
とアドレス1番地のデータを同時に読み込むのに比べて
2倍の時間を費やさなければならなかった。
【0017】また、メモリに対するアクセス方式がワー
ド単位固定の場合には、メモリの0番地に1バイトのデ
ータBBのみを書くのにアドレス1番地にも同時にアク
セスがされてデータを書き込んでしまうために、メモリ
のデバイス寿命を縮めることになった。
【0018】第2の問題点は、図4に示すメモリ3を介
したCPU間通信の場合には、片方のCPUをエンディ
アン方式の異なるCPUに変更することが容易ではなか
った。
【0019】その理由は、通信するCPUのエンディア
ン方式に応じて、予めデータ配置をS/WもしくはH/
Wで設定してしまうからである。
【0020】本発明は従来の上記実情に鑑み、従来の技
術に内在する上記課題を解決する為になされたものであ
り、従って本発明の目的は、CPU間のメモリに対する
アクセス方式を固定化しないことで、通信の高速化をは
かり、メモリ領域を効率的に使用して、メモリデバイス
の寿命を延ばすことを可能とした新規なエンディアン変
換方式を提供することにある。
【0021】本発明の他の目的は、通信する片方のCP
Uを異なるエンディアン方式に変更する際に、H/Wで
容易に制御することを可能とした新規なエンディアン変
換方式を提供することにある。
【0022】
【課題を解決するための手段】上記目的を達成する為
に、本発明に係るエンディアン変換方式は、互いに通信
するCPUのエンディアン方式及びメモリ書き込み時の
アクセス方式を記憶してデータバスの入れ替えを判断す
るエンディアン/アクセス方式制御手段(図1の10)
と、この制御手段の判断結果により制御されデータバス
の入れ替えを容易に行うエンディアン変換手段(図1の
11、12)を設ける。
【0023】
【作用】本発明においては、エンディアン/アクセス方
式制御手段がCPUの持つエンディアン方式とメモリの
各データ領域に対するアクセス方式を記憶し、制御信号
を作ることで、エンディアン変換手段によってデータバ
スのエンディアン変換、メモリへのアクセス方式を容易
に切り換えることができる。
【0024】
【発明の実施の形態】
[1]構成の説明 次に、本発明の一実施の形態について図1を参照して説
明する。
【0025】図1は本発明による一実施の形態を示すブ
ロック構成図である。本発明はメモリ3を介したCPU
1とCPU2間の通信である。
【0026】図1を参照するに、CPU1、CPU2に
は、それぞれデータバス4、5、データバス6、7の、
データバスが2本ずつ設けられている。1本のデータバ
スは8本のデータ信号からなる。つまりCPU1、CP
U2共に1度に2バイトのデータが送受信可能である。
各CPU1、CPU2からはアドレスバス8、9、バイ
トアドレスか、ワードアドレスかを示すバイト/ワード
信号21、22、読み出しモードか書き込みモードかを
示すリード/ライト信号23、24がエンディアン/ア
クセス方式制御回路10に接続されている。
【0027】エンディアン/アクセス方式制御回路10
は、CPU1とCPU2のエンディアン方式と、各CP
U1、CPU2からメモリ3の各データ領域に対するア
クセス方式を記憶し、制御信号13〜20を作る回路で
ある。
【0028】エンディアン変換回路11は、制御信号1
3〜16を受けてデータバス4、5とデータバス33、
34のつなぎ変えを行う回路である。
【0029】エンディアン変換回路12は、制御信号1
7〜20を受けてデータバス6、7とデータバス35、
36のつなぎ変えを行う回路である。
【0030】[2]動作の説明 次に本発明による実施の形態の動作について図1を参照
して説明する。
【0031】CPU2がメモリ3のあるデータ領域へデ
ータを書き込み、これをCPU1がそのデータをメモリ
3から読み出す場合を説明する。
【0032】エンディアン/アクセス方式制御回路10
にはCPU1とCPU2のエンディアン方式を予め記憶
させておく。
【0033】CPU2から出力されたデータは2本のデ
ータバス6、7にのせられ、エンディアン変換回路12
に入力される。
【0034】エンディアン変換回路12はデータバス6
をデータバス35へ、データバス7をデータバス36へ
接続する。
【0035】この時、CPU2は、アドレスバス9、バ
イト/ワード信号22、リード/ライト信号24を使用
して、エンディアン/アクセス方式制御回路10にメモ
リ3のあるアドレスにバイトもしくはワードアクセスで
データを書き込んだことを記憶させる。
【0036】CPU1はメモリ3からCPU2が書き込
んだデータを読み込む際に、エンディアン/アクセス方
式制御回路10へアドレスバス8を介してアドレスとリ
ード/ライト信号23を送り、これを受けたエンディア
ン/アクセス方式制御回路10は、CPU1が読み込も
うとしているメモリ3のあるデータ領域がバイト単位で
書かれているか、ワード単位で書かれているかをバイト
/ワード信号21によってCPU1に教える。エンディ
アン/アクセス方式制御回路10はまた、CPU1とC
PU2のエンディアン方式により、制御信号13〜16
を生成し、エンディアン変換回路11に送信する。
【0037】制御信号13〜16はエンディアン変換回
路11の双方向バッファのゲートの開閉を行う。これに
より、データバス33、34はデータバス4もしくは5
に接続されて、CPU1は適切なデータをメモリ3から
読み出すことができる。
【0038】
【実施例】
[1]実施例の構成の説明 次に、本発明の一実施例の構成について図面を参照して
詳細に説明する。
【0039】本発明は、図1に示すようにCPU1、C
PU2、メモリ3、エンディアン/アクセス方式制御回
路10、エンディアン変換回路11、12からなる。
【0040】エンディアン変換回路11のCPU1側で
は、双方向バッファ25、26がデータバス4に、双方
向バッファ27、28がデータバス5にそれぞれ接続さ
れている。また、メモリ3側では、双方向バッファ2
5、27がデータバス33に、双方向バッファ26、2
8がデータバス34にそれぞれ接続されている。
【0041】同様に、エンディアン変換回路12のCP
U2側では、双方向バッファ29、30がデータバス6
に、双方向バッファ31、32がデータバス7にそれぞ
れ接続されている。
【0042】また、メモリ3側では、双方向バッファ2
9、31がデータバス35に、双方向バッファ30、3
2がデータバス36にそれぞれ接続されている。
【0043】CPU1、CPU2のアドレスバス8、9
はメモリ3とエンディアン/アクセス方式制御回路10
の両方に接続されている。CPU1、CPU2からはそ
れぞれバイトアクセスか、ワードアクセスかを示すバイ
ト/ワード信号21、22、読み出しモードか書き込み
モードかを示すリード/ライト信号23、24がエンデ
ィアン/アクセス方式制御回路10に接続されている。
【0044】エンディアン/アクセス方式制御回路10
からはエンディアン変換回路11の双方向バッファ25
〜28のゲートに対して4本の制御信号13〜16が、
エンディアン変換回路12の双方向バッファ29〜32
のゲートに対して4本の制御信号17〜20がそれぞれ
接続されている。
【0045】[2]実施例の動作の説明 次に、本発明の一実施例の動作について図1、図3を参
照して詳細に説明する。
【0046】まず、CPU1とCPU2が両者共にビッ
グエンディアン方式、つまり両者共に同じエンディアン
方式であり、CPU2がメモリ3のあるデータ領域へワ
ード単位でデータを書き込み、これをCPU1がそのデ
ータをメモリ3から読み出す場合を説明する。
【0047】エンディアン/アクセス方式制御回路10
にはCPU1とCPU2が共にビッグエンディアン方式
であることを手動のスイッチで記憶させておく。
【0048】まず、CPU2はメモリ3のアドレス0番
地にワードアクセスで図3(a)に示すような2バイト
データAABBを書き込む。各アルファベットの1桁は
16進数を表わす。
【0049】この時リード/ライト信号24は書き込み
モードを、バイト/ワード信号22はワードアクセスを
示すので、エンディアン/アクセス方式制御回路10で
はメモリ3の0番地にワードアクセスで書き込みが行わ
れたことを記憶し、双方向バッファ29、32のゲート
を開き、双方向バッファ30、31のゲートを閉じるよ
うな制御信号17〜20を生成する。
【0050】よって上位データAAは、データバス6に
のり、双方向バッファ29を介して、データバス35に
接続され、メモリ3の0番地へ格納される。
【0051】下位データBBは、データバス7にのり、
双方向バッファ32を介してデータバス36に接続さ
れ、メモリ3の1番地へ格納される。よってメモリ3で
のデータ構造は図3(c)のようになる。
【0052】次に、CPU2が書き込んだデータをCP
U1がメモリ3から読み出す場合を説明する。
【0053】CPU1はエンディアン/アクセス方式制
御回路10へアドレスバス8を介してアドレス信号とリ
ード/ライト信号23を送り、これからメモリ3の0番
地からデータを読み込むことを示す。エンディアン/ア
クセス方式制御回路10にはCPU1とCPU2が同じ
エンディアン方式であり、メモリ3の0番地にはワード
アクセスでデータが書き込まれたことが記憶されている
ので、エンディアン/アクセス方式制御回路10は、バ
イト/ワード信号21からCPU1に対してワードアク
セスするように命令し、双方向バッファ25、28のゲ
ートを開き、双方向バッファ26、27のゲートを閉じ
るような制御信号13〜16を生成する。
【0054】よって、メモリ3のデータAAはデータバ
ス33にのり、双方向バッファ25を介してデータバス
4に接続され、CPU1の上位データとして読み込まれ
る。データBBはデータバス34にのり、双方向バッフ
ァ28を介してデータバス5に接続され、CPU1の下
位データとして読み込まれる。
【0055】次に、CPU1とCPU2が両者共にビッ
グエンディアン方式、つまり両者共に同じエンディアン
方式であり、CPU2がメモリ3のあるデータ領域へバ
イト単位でデータを書き込み、これをCPU1がそのデ
ータをメモリ3から読み出す場合を説明する。
【0056】エンディアン/アクセス方式制御回路10
にはCPU1とCPU2が共にビッグエンディアン方式
であることを手動のスイッチで記憶させておく。
【0057】まず、CPU2はメモリ3のアドレス0番
地にバイトアクセスで1バイトデータAAを書き込む。
【0058】この時リード/ライト信号24は書き込み
モードを、バイト/ワード信号22はバイトアクセスを
示すので、エンディアン/アクセス方式制御回路10で
はメモリ3の0番地にバイトアクセスで書き込みが行わ
れたことを記憶し、双方向バッファ29のゲートを開
き、双方向バッファ30、32のゲートを閉じるような
制御信号17〜20を生成する。
【0059】よってデータAAは、データバス6にの
り、双方向バッファ29を介して、データバス35に接
続され、メモリ3の0番地へ格納される。
【0060】次に、CPU2が書き込んだデータをCP
U1がメモリ3から読み出す場合を説明する。CPU1
はエンディアン/アクセス方式制御回路10へアドレス
バス8を介してアドレス信号とリード/ライト信号23
を送り、これからメモリ3の0番地からデータを読み込
むことを示す。エンディアン/アクセス方式制御回路1
0にはCPU1とCPU2が同じエンディアン方式であ
り、メモリ3の0番地にはバイトアクセスでデータが書
き込まれたことが記憶されているので、エンディアン/
アクセス方式制御回路10は、バイト/ワード信号21
からCPU1に対してバイトアクセスするように命令
し、双方向バッファ25のゲートを開き、双方向バッフ
ァ26〜28のゲートを閉じるような制御信号13〜1
6を生成する。
【0061】よって、メモリ3のデータAAは、データ
バス33にのり、双方向バッファ25を介してデータバ
ス4に接続され、CPU1の上位データとして読み込ま
れる。
【0062】では、CPU1がリトルエンディアン方式
でCPU2がビッグエンディアン方式、つまり両者が異
なるエンディアン方式であり、CPU2がメモリ3のあ
るデータ領域へワード単位でデータを書き込み、これを
CPU1がそのデータをメモリ3から読み出す場合を説
明する。
【0063】エンディアン/アクセス方式制御回路10
にはCPU1がリトルエンディアン方式でCPU2がビ
ッグエンディアン方式であることを手動のスイッチで記
憶させておく。まず、CPU2はメモリ3のアドレス0
番地にワードアクセスで図3(a)に示すような2バイ
トデータAABBを書き込む。
【0064】この時リード/ライト信号24は書き込み
モードを、バイト/ワード信号22はワードアクセスを
示すので、エンディアン/アクセス方式制御回路10で
はメモリ3の0番地にワードアクセスで書き込みが行わ
れたことを記憶し、双方向バッファ29、32のゲート
を開き、双方向バッファ30、31のゲートを閉じるよ
うな制御信号17〜20を生成する。
【0065】よって上位データAAは、データバス6に
のり、双方向バッファ29を介して、データバス35に
接続され、メモリ3の0番地へ格納される。
【0066】下位データBBは、データバス7にのり、
双方向バッファ32を介してデータバス36に接続さ
れ、メモリ3の1番地へ格納される。よってメモリ3で
のデータ構造は図3(c)のようになる。
【0067】次に、CPU2が書き込んだデータをCP
U1がメモリ3から読み出す場合を説明する。
【0068】CPU1はエンディアン/アクセス方式制
御回路10へアドレスバス8を介してアドレス信号とリ
ード/ライト信号23を送り、これからメモリ3の0番
地からデータを読み込むことを示す。エンディアン/ア
クセス方式制御回路10にはCPU1とCPU2が異な
るエンディアン方式であり、メモリ3の0番地にはワー
ドアクセスでデータが書き込まれたことが記憶されてい
るので、エンディアン/アクセス方式制御回路10は、
バイト/ワード信号21からCPU1に対してワードア
クセスするように命令し、双方向バッファ26、27の
ゲートを開き、双方向バッファ25、28のゲートを閉
じるような制御信号13〜16を生成してエンディアン
変換を行う。
【0069】よって、メモリ3のデータAAは、データ
バス33にのり、双方向バッファ27を介してデータバ
ス5に接続され、CPU1の下位データとして読み込ま
れる。データBBはデータバス34にのり、双方向バッ
ファ26を介してデータバス4に接続され、CPU1の
上位データとして読み込まれる。
【0070】次に、CPU1がリトルエンディアン方式
でCPU2がビッグエンディアン方式、つまり両者は異
なるエンディアン方式であり、CPU2がメモリ3のあ
るデータ領域へバイト単位でデータを書き込み、これを
CPU1がそのデータをメモリ3から読み出す場合を説
明する。
【0071】エンディアン/アクセス方式制御回路10
にはCPU1がリトルエンディアン方式で、CPU2が
ビッグエンディアン方式であることを手動のスイッチで
記憶させておく。まず、CPU2はメモリ3のアドレス
0番地にバイトアクセスで1バイトデータAAを書き込
む。
【0072】この時リード/ライト信号24は書き込み
モードを、バイト/ワード信号22はバイトアクセスを
示すので、エンディアン/アクセス方式制御回路10で
はメモリ3の0番地にバイトアクセスで書き込みが行わ
れたことを記憶し、双方向バッファ29のゲートを開
き、双方向バッファ30〜32のゲートを閉じるような
制御信号17〜20を生成する。よってデータAAは、
データバス6にのり、双方向バッファ29を介して、デ
ータバス35に接続され、メモリ3の0番地へ格納され
る。
【0073】次にCPU1がメモリ3からCPU2が書
き込んだデータを読み出す場合を説明する。
【0074】CPU1はエンディアン/アクセス方式制
御回路10へアドレスバス8を介してアドレス信号と、
リード/ライト信号23を送り、これからメモリ3の0
番地からデータを読み込むことを示す。エンディアン/
アクセス方式制御回路10にはCPU1がリトルエンデ
ィアンで、CPU2がビッグエンディアン方式であり、
メモリ3の0番地にはバイトアクセスでデータが書き込
まれたことが記憶されているので、エンディアン/アク
セス方式制御回路10は、バイト/ワード信号21から
CPU1に対してバイトアクセスするように命令し、双
方向バッファ27のゲートを開き、双方向バッファ2
5、26、28のゲートを閉じるような制御信号13〜
16を生成する。
【0075】よって、メモリ3のデータAAは、データ
バス33にのり、双方向バッファ27を介してデータバ
ス5に接続され、CPU1の下位データとして読み込ま
れる。
【0076】続いて、CPU1がビッグエンディアン方
式でCPU2がリトルエンディアン方式、つまり両者が
異なるエンディアン方式であり、CPU2がメモリ3の
あるデータ領域へワード単位でデータを書き込み、これ
をCPU1がそのデータをメモリ3から読み出す場合を
説明する。
【0077】エンディアン/アクセス方式制御回路10
にはCPU1がビッグエンディアン方式でCPU2がリ
トルエンディアン方式であることを手動のスイッチで記
憶させておく。まず、CPU2はメモリ3のアドレス0
番地にワードアクセスで図3(a)に示すような2バイ
トデータAABBを書き込む。
【0078】この時リード/ライト信号24は書き込み
モードを、バイト/ワード信号22はワードアクセスを
示すので、エンディアン/アクセス方式制御回路10で
はメモリ3の0番地にワードアクセスで書き込みが行わ
れたことを記憶し、双方向バッファ29、32のゲート
を開き、双方向バッファ30、31のゲートを閉じるよ
うな制御信号17〜20を生成する。
【0079】よって上位データAAは、データバス6に
のり、双方向バッファ29を介して、データバス35に
接続され、メモリ3の0番地へ格納される。下位データ
BBは、データバス7にのり、双方向バッファ32を介
してデータバス36に接続され、メモリ3の1番地へ格
納される。よってメモリ3でのデータ構造は図3(c)
のようになる。
【0080】次に、CPU1がメモリ3からCPU2が
書き込んだデータを読み出す場合を説明する。
【0081】CPU1はエンディアン/アクセス方式制
御回路10へアドレスバス8を介してアドレス信号とリ
ード/ライト信号23を送り、これからメモリ3の0番
地からデータを読み込むことを示す。エンディアン/ア
クセス方式制御回路10にはCPU1とCPU2が異な
るエンディアン方式であり、メモリ3の0番地にはワー
ドアクセスでデータが書き込まれたことが記憶されてい
るので、エンディアン/アクセス方式制御回路10は、
バイト/ワード信号21からCPU1に対してワードア
クセスするように命令し、双方向バッファ26、27の
ゲートを開き、双方向バッファ25、28のゲートを閉
じるような制御信号13〜16を生成してエンディアン
変換を行う。
【0082】よって、メモリ3のデータAAは、データ
バス33にのり、双方向バッファ27を介してデータバ
ス5に接続され、CPU1の下位データとして読み込ま
れる。データBBはデータバス34にのり、双方向バッ
ファ26を介してデータバス4に接続され、CPU1の
上位データとして読み込まれる。
【0083】次に、CPU1がビッグエンディアン方式
でCPU2がリトルエンディアン方式、つまり両者が異
なるエンディアン方式であり、CPU2がメモリ3のあ
るデータ領域へバイト単位でデータを書き込み、これを
CPU1がそのデータをメモリ3から読み出す場合を説
明する。
【0084】エンディアン/アクセス方式制御回路10
にはCPU1がビッグエンディアン方式で、CPU2が
リトルエンディアン方式で手動のスイッチで記憶させて
おく。まず、CPU2はメモリ3のアドレス0番地にバ
イトアクセスで1バイトデータAAを書き込む。
【0085】この時リード/ライト信号24は書き込み
モードを、バイト/ワード信号22はバイトアクセスを
示すので、エンディアン/アクセス方式制御回路10で
はメモリ3の0番地にバイトアクセスで書き込みが行わ
れたことを記憶し、双方向バッファ29のゲートを開
き、双方向バッファ30〜32のゲートを閉じるような
制御信号17〜20を生成する。よってデータAAは、
データバス6にのり、双方向バッファ29を介して、デ
ータバス35に接続され、メモリ3の0番地へ格納され
る。
【0086】次にCPU1がメモリ3からCPU2が書
き込んだデータを読み出す場合を説明する。
【0087】CPU1はエンディアン/アクセス方式制
御回路10へアドレスバス8を介してアドレス信号と、
リード/ライト信号23を送り、これからメモリ3の0
番地からデータを読み込むことを示す。エンディアン/
アクセス方式制御回路10にはCPU1がビッグエンデ
ィアンで、CPU2がリトルエンディアン方式であり、
メモリ3の0番地にはバイトアクセスでデータが書き込
まれたことが記憶されているので、エンディアン/アク
セス方式制御回路10は、バイト/ワード信号21から
CPU1に対してバイトアクセスするように命令し、双
方向バッファ27のゲートを開き、双方向バッファ2
5、26、28のゲートを閉じるような制御信号13〜
16を生成する。
【0088】よって、メモリ3のデータAAは、データ
バス33にのり、双方向バッファ27を介してデータバ
ス5に接続され、CPU1の下位データとして読み込ま
れる。
【0089】図2はエンディアン/アクセス方式制御回
路の具体例を示すブロック構成図である。
【0090】図2を参照するに、エンディアン/アクセ
ス方式制御回路10は、リトルエンディアンかあるいは
ビッグエンディアン方式かのエンディアン方式を例えば
手動のスイッチ等で設定し設定/記憶するエンディアン
方式設定/記憶部101と、バイトまたはワードのアク
セス方式を記憶するバイト/ワード記憶部102と、ア
ドレスパス8、9のアドレス信号、リード/ライト信号
23、24、エンディアン方式設定/記憶部101の出
力信号及びバイト/ワード記憶部102の出力信号に基
づいて、エンディアン変換回路11、12を切換制御す
る制御信号13〜16、17〜20を発生する制御信号
生成部103とを備えている。
【0091】
【発明の効果】本発明は以上の如く構成され、作用する
ものであり、従って本発明によれば以下に示す効果が得
られる。
【0092】第1の効果は、メモリを介したCPU間通
信でメモリへのアクセスが効率的になり、メモリデバイ
スの寿命を長くできることである。
【0093】その理由は、メモリ領域毎にバイト/ワー
ドアクセスかを記憶することで、メモリへのアクセス回
数や必要のないメモリ領域へのアクセスを軽減できるか
らである。
【0094】第2の効果は、CPU間通信でエンディア
ン方式の異なるCPUへの変更が容易にできることであ
る。
【0095】その理由は、通信するCPUのエンディア
ン方式に応じて、H/Wでデータバスの入れ換えを行う
からである。
【図面の簡単な説明】
【図1】本発明による一実施の形態に関するCPU転送
方式のブロック構成図である。
【図2】エンディアン/アクセス方式制御回路の具体例
を示すブロック構成図である。
【図3】(a)は2バイト長データを表現した図、
(b)は2バイト長データをリトルエンディアン方式で
表現した図、(c)は2バイト長データをビッグエンデ
ィアン方式で表現した図である。
【図4】従来の技術に関するCPU転送方式のブロック
図である。
【符号の説明】
1、2…CPU 3…メモリ 4〜7、33〜36…データバス 8、9…アドレスバス 10…エンディアン/アクセス方式制御回路 11、12…エンディアン変換回路 13〜20…制御信号 21、22…バイト/ワード信号 23、24…リード/ライト信号 25〜32…双方向バッファ 101…エンディアン方式設定/記憶部 102…バイト/ワード記憶部 103…制御信号生成部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 互いに通信するCPUのエンディアン方
    式及びメモリ書き込み時のアクセス方式を記憶してデー
    タバスの入れ替えを判断する判断手段と、該判断手段の
    判断結果により制御されデータバスの入れ替えを行う変
    換手段とを有することを特徴とするエンディアン変換方
    式。
  2. 【請求項2】 前記判断手段は、メモリを介して実行さ
    れる第1及び第2のCPU間の通信システムにおけるエ
    ンディアン/アクセス方式制御回路であり、該エンディ
    アン/アクセス方式制御回路は、前記メモリと前記第1
    のCPU間に設けられた第1のアドレスバスに接続され
    ると共に前記メモリと前記第2のCPU間に設けられた
    第2のアドレスバスに接続され、前記変換手段は、前記
    メモリとの間に第1及び第2のデータバスで接続され且
    つ前記第1のCPUとの間に第3及び第4のデータバス
    で接続された第1のエンディアン変換回路と、前記メモ
    リとの間に第5及び第6のデータバスで接続され且つ前
    記第2のCPUとの間に第7及び第8のデータバスで接
    続された第2のエンディアン変換回路とを有することを
    更に特徴とする請求項1に記載のエンディアン変換方
    式。
  3. 【請求項3】 前記第1のエンディアン変換回路は、前
    記第1及び第3のデータバスに接続された第1の双方向
    バッファと、前記第2及び第3のデータバスに接続され
    た第2の双方向バッファと、前記第1及び第4のデータ
    バスに接続された第3の双方向バッファと、前記第2及
    び第4のデータバスに接続された第4の双方向バッファ
    とを有し、前記第2のエンディアン変換回路は、前記第
    5及び第7のデータバスに接続された第5の双方向バッ
    ファと、前記第6及び第7のデータバスに接続された第
    6の双方向バッファと、前記第5及び第8のデータバス
    に接続された第7の双方向バッファと、前記第6及び第
    8のデータバスに接続された第8の双方向バッファとを
    有することを更に特徴とする請求項2に記載のエンディ
    アン変換方式。
  4. 【請求項4】 前記エンディアン/アクセス方式制御回
    路は、リトルエンディアンかあるいはビッグエンディア
    ンかのエンディアン方式を設定/記憶するエンディアン
    方式設定/記憶部と、バイトまたはワードのアクセス方
    式を記憶するバイト/ワード記憶部と、前記第1及び第
    2のアドレスバスのアドレス信号、前記第1及び第2の
    CPUのリード/ライト信号、前記エンディアン方式設
    定/記憶部の出力信号及び前記バイト/ワード記憶部の
    出力信号に基づいて、前記第1及び第2のエンディアン
    変換回路を切換制御する制御信号を発生する制御信号生
    成部とを有することを更に特徴とする請求項2に記載の
    エンディアン変換方式。
JP12521697A 1997-05-15 1997-05-15 エンディアン変換方式 Pending JPH10320175A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12521697A JPH10320175A (ja) 1997-05-15 1997-05-15 エンディアン変換方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12521697A JPH10320175A (ja) 1997-05-15 1997-05-15 エンディアン変換方式

Publications (1)

Publication Number Publication Date
JPH10320175A true JPH10320175A (ja) 1998-12-04

Family

ID=14904749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12521697A Pending JPH10320175A (ja) 1997-05-15 1997-05-15 エンディアン変換方式

Country Status (1)

Country Link
JP (1) JPH10320175A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835842A (zh) * 2021-03-05 2021-05-25 深圳市汇顶科技股份有限公司 端序处理方法、电路、芯片以及电子终端

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835842A (zh) * 2021-03-05 2021-05-25 深圳市汇顶科技股份有限公司 端序处理方法、电路、芯片以及电子终端
CN112835842B (zh) * 2021-03-05 2024-04-30 深圳市汇顶科技股份有限公司 端序处理方法、电路、芯片以及电子终端

Similar Documents

Publication Publication Date Title
US5408627A (en) Configurable multiport memory interface
JPS6376044A (ja) バスマスタ
JP2539058B2 (ja) デ―タプロセッサ
JPH11509950A (ja) N本未満のi/oピンを伴うnビットのデータバス幅をもつマイクロコントローラ及びそのための方法
JPS61143865A (ja) 直接データ転送のためのインターフエース
US4344130A (en) Apparatus to execute DMA transfer between computing devices using a block move instruction
JP2004062900A (ja) バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム
JPH10320175A (ja) エンディアン変換方式
KR960001023B1 (ko) 이기종 버스시스템에서의 버스 공유방법 및 버스 스와핑장치
KR970059914A (ko) 플래시 메모리 시스템
JPH0447920B2 (ja)
JP2000099452A (ja) Dma制御装置
JPS6292053A (ja) 直接メモリアクセス転送制御方式
JP3651672B2 (ja) 演算処理システム、特に通信装置のための演算処理システム
JPH11338818A (ja) データ転送方法及び装置
JP2687679B2 (ja) プログラム開発装置
JPS61267852A (ja) デ−タ・バス変換方式
JPS6217879Y2 (ja)
JPH05334234A (ja) 高速dma転送装置
JPH04273358A (ja) Dmac内蔵型ワンチップマイクロコンピュータ
JPH0120781B2 (ja)
JPH05120210A (ja) マイクロコンピユータ
JPH1021207A (ja) Cpu間通信装置
KR19990048634A (ko) 마이크로컴퓨터의 시스템버스를 이용한 주변 입출력기기 접속장치
JPS60140591A (ja) バブルメモリ装置