JPH0863425A - インタバス・バッファ - Google Patents

インタバス・バッファ

Info

Publication number
JPH0863425A
JPH0863425A JP7211305A JP21130595A JPH0863425A JP H0863425 A JPH0863425 A JP H0863425A JP 7211305 A JP7211305 A JP 7211305A JP 21130595 A JP21130595 A JP 21130595A JP H0863425 A JPH0863425 A JP H0863425A
Authority
JP
Japan
Prior art keywords
data
bus
switching means
byte
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.)
Pending
Application number
JP7211305A
Other languages
English (en)
Inventor
Christopher Bryant
クリストファー・ブリアント
Brian Reynolds
ブライアン・レイノルズ
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH0863425A publication Critical patent/JPH0863425A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4013Coupling between buses with data restructuring with data re-ordering, e.g. Endian conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 2つの異なるサイズのバス間でデータ転送を
調整するインタバス・バッファを提供する。 【解決手段】 第1バス(プロセッサ・バス)は、ビッ
グ・エンディアン・プロトコルまたは「マングド」リト
ル・エンディアン・モードに従ってデータを配列でき
る。第2バス(ローカル・バス)は、ビッグ・エンディ
アン・プロトコルまたは真のリトル・エンディアン・モ
ードのいずれかに従ってデータを配列できるが、トラン
ザクション・サイズを定めない。本開示のインタバス・
バッファは、さまざまな異なるトランザクション・サイ
ズや動作モードに関係なく、インタバス・データ転送を
調整する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、デジタル・コ
ンピュータ・システムに関し、さらに詳しくは、バス・
ツー・バス・バッファ回路(bus-to-bus buffer circui
t) に関する。
【0002】
【従来の技術】すべてのデジタル・コンピュータ装置
は、個別のデータ・ユニットを多重ユニット転送におい
てどのように配列するかに応じて、2つの相反するクラ
スのうちの一方に分類できる。これら2つのクラスのメ
ンバは、「ビッグ・エンディアン(big endian)」または
「リトル・エンディアン(little endian) 」装置のいず
れかとして知られる。現在のデジタル・コンピュータ装
置では、一般に、8データ・ビット、すなわち「バイ
ト」は、もっとも小さい個別にアクセス可能なデータ単
位である。しかし、ほとんどのデジタル・コンピュータ
装置は、転送中の単一バイトのアドレスおよび/または
あるサイズの信号によって識別される時間で、1ないし
8バイトを転送する。従って、デバイスがバイトのそれ
ぞれをデータ転送の単一アドレスに対してどのように配
列するかは重要となる。
【0003】ビッグ・エンディアン装置は、もっとも低
いアドレスを多重ユニット転送の最上位バイト(左端の
バイト)に割り当て、次の順次アドレスを転送の次の最
上位バイトに割り当てる。この方式は、多重ユニット転
送のビッグ・エンド(バイナリ数としてみなされる)が
最初に格納されるので、ビッグ・エンディアンという。
IBM 社のRISC System/6000,IBM 社のSystem 370および
Motorola社の68000 ファミリ・マイクロプロセッサは、
ビッグ・エンディアン装置の例である。
【0004】リトル・エンディアン装置は、もっとも低
いアドレスを多重ユニット転送の最下位バイト(右端の
バイト)に割り当て、次の順次アドレスを転送の次の最
下位バイトに割り当てる。この方式は、多重ユニット転
送のリトル・エンド(バイナリ数としてみなされる)が
最初に格納されるので、リトル・エンディアンという。
DEC 社のVAX アーキテクチャおよびIntel 社のX86 ファ
ミリ・マイクロプロセッサはリトル・エンディアン装置
の例である。
【0005】
【発明が解決しようとする課題】ビッグ・エンディアン
装置とリトル・エンディアン装置を同じデジタル・コン
ピュータ・システムに統合することが望ましい場合が多
い。ビッグ・エンディアン装置とリトル・エンディアン
装置との間の多重ユニット転送は、再配列しなければな
らない。そうしないと、一方の装置からのデータ出力が
他方の装置にとって意味不明になる。多重ユニット転送
においてデータを再配列するために用いられる少なくと
も2つの方法、すなわち、「プログラムド・バイト・ス
ワッピング(programmed byte-swapping)」および「アド
レス・マンギング(address munging」という方式があ
る。
【0006】
【課題を解決するための手段】プログラムド・バイト・
スワッピングとは、2つの異なる装置を接続するデータ
経路に挿入されるある数のマルチプレクサを内蔵する方
法である。これらのマルチプレクサは、データ転送サイ
ズおよびデータ経路サイズに応じて、バイト再配列(byt
e reordering) を実行する。例えば、両方の装置が最大
4バイト量(four byte quanta)を転送する(両方が32
ビット・データ・バスを有する)場合、各バイトは4つ
の着信バイトのうち任意の1つを4バイト・レーン(lan
e)のうち任意の1つに送るため、この装置に接続された
4:1マルチプレクサを有していなければならない。
【0007】アドレス・マンギングとは、ビッグ・エン
ディアン装置からリトル・エンディアン装置に転送され
るデータを再配列する方法である。この方法は、2つの
段階を組み合わせる。まず第1に、リトル・エンディア
ン装置に宛てられた各データ転送のアドレスは、修正ま
たは「マング(mung)」され、特定の数学関数に従って第
2アドレスを形成する。データ転送は、この第2アドレ
スによってインデクスされる。第2に、データ転送のバ
イトは、データ経路に対して反転される。
【0008】
【実施例】図1は、本発明により構成されたデータ処理
システム10のブロック図を示す。データ処理システム
10は、ビッグ・エンディアン(以下、「BE」)また
はマングド・ビッグ・エンディアン(munged big endia
n) (以下、疑似リトル・エンディアンまたは「PLE:
pseudo little endian」)配列方式に従って多重バイ
ト・データ転送を生成するデータ・プロセッサ12を含
む。データ・プロセッサ12は、バス・ツー・バス・ブ
リッジ回路(bus-to-bus bridge circuit) (または「イ
ンタバス・バッファ(interbus buffer) 」18を介し
て、主メモリ・システム14およびさまざまな周辺デバ
イス16と交信する。本発明により、インタバス・バッ
ファ18は、ビッグ・エンディアン・バスとリトル・エ
ンディアン(以下、「LE」)バスをインタフェースす
るのに必要なバイト再配列機能を提供する。
【0009】図1において、データ・プロセッサ12
は、第1入力/出力プロトコルに準拠し、周辺デバイス
16は第2入力/出力プロトコルに準拠する。図1に示
すように、データ・プロセッサ12が準拠するプロトコ
ルは、ラベルがつけられ、「プロセッサ・バス」とい
う。周辺デバイス16が準拠するプロトコルは、ラベル
が付けられ、「ローカル・バス」という。データ処理シ
ステム10は、本発明とは関係ない多くの理由により、
2つまたはそれ以上の異なるバスで動作するデバイスを
含むことができ、その理由として、ローカル・バスはハ
ードディスク保存システム,グラフィック・ドライバ,
拡張スロットなどある種のデバイスについて業界標準の
場合があり、2つのバスは異なる時期に開発されている
場合があり、データ処理システム10は2つの異なるメ
ーカからの技術を内蔵する場合などがある。
【0010】図示の実施例では、プロセッサ・バスは、
PowerPC (International BusinessMachines Corporatio
nの商標)60Xバスプロトコルの64ビット構成であ
る。各60Xバス・トランザクションは、T−BURS
T制御信号をデアサート(de-assert) またはアサートす
ることにより、1つまたは4つの順次64ビット・トラ
ンザクションのいずれかを指定する。単一64ビット・
トランザクションでは、3ビット制御信号であるT−S
IZEがトランザクションの1ないし8バイトを確認(v
alidate)する。
【0011】図示の実施例では、ローカル・バスは、P
CI(Peripheral Component Interconnect) プロトコル
の32ビット構成である。制御信号FRAMEのデアサ
ートは、単一トランザクションにおける最後の32ビッ
ト転送を表す。4バイト・イネーブル制御信号は、4バ
イト転送の各バイトを個別に確認する。以下で明らかに
なるように、バス・サイズの差およびPCIトランザク
ションにおける先験的(a priori)トランザクション・サ
イズ情報の欠如は、既知のバイト再配列方法、すなわち
プログラマブル・バイト・スワッピングの利用を不可能
にする。
【0012】図2ないし図6は、BEモード,新リトル
・エンディアン(以下、「LE」)モードおよびPLE
モードで動作するデバイス間のさまざまなサイズのデー
タ転送の例を表形式で示す。まず、これらの図面は、B
E,LEおよびPLEデバイスの動作を説明するために
用いられる。次に、同じ図面は、インタバス・バッファ
18の動作を説明するために用いられる。
【0013】図7は、BEおよびPLEモードで動作す
るデバイス間のデータ転送で用いられるマッピング方式
を表形式で示す。図示の表は、最大8バイトを一度に転
送できるデバイスの動作を説明するためのものである。
図示のように、BE転送の開始アドレスの3最下位ビッ
トは、トランザクション・サイズに応じてあるビット・
パターンと排他的論理和(XOR)される。この動作に
より、「マングド(munged)」アドレスまたはPLE開始
アドレスが生成される。データ・プロセッサ12などの
デバイスは、PLEトランザクション・アドレスを出力
する前に、この機能を内部実行する。次に、PLEアド
レスは、LEまたはPLEデバイスからデータを読み出
すまたは書き込むために用いられる。トランザクション
がLEデバイスからのリードまたはライト動作の場合、
8バイトは、転送時にデータ経路に対して個別に反転さ
れる。トランザクションが別のPLEデバイスからのリ
ードまたはライト動作の場合、バイト反転は必要ない。
【0014】図2に戻って、BEデバイスは、開始アド
レスXX000によってインデクスされた単一8バイト
転送、すなわち「整合された(aligned) 」ダブル・ワー
ド転送を生成し、ここで「X」は「関係なし(don't car
e)」アドレス・ビットである。転送は、リード(read)ま
たはライト(write) でもよい。この例およびすべての以
下の例では、最上位ビットは「A」によって表され、次
の最上位ビットは「B」によって表される。図7に示す
ように、アドレスの3個の最下位ビットは、「000」
と排他的論理和される。対応するPLEまたは「マング
ド」アドレスもXX000である。従って、8ビットA
〜Hは、PLEモード(「BE/PLE」)で動作する
BEデバイスから同じ開始アドレスXXOOOに同じ順
序A〜Hで出力される。
【0015】これらの8バイトがLEデバイスに直接ま
たはPLEデバイスを介して転送される場合、8バイト
A〜Hはデータ経路に対して反転される。特に、第1P
LEバイト・レーン(byte-lane) を占めるバイト(この
場合A)は、8番目のLEバイト・レーン(アドレスX
X111)に再マッピングされ、第2PLEバイト・レ
ーンを占めるバイト(この場合B)は、7番目のLEバ
イト・レーン(アドレスXX110)に再マッピングさ
れ、第3PLEバイト・レーンを占めるバイト(この場
合C)は、第6LEバイト・レーン(アドレスXX10
1)に再マッピングされ、第4PLEバイト・レーンを
占めるバイト(この場合D)は、第5LEバイト・レー
ン(アドレスXX100)に再マッピングされ、第5P
LEバイト・レーンを占めるバイト(この場合E)は、
第4LEバイト・レーン(アドレスXX011)に再マ
ッピングされ、第6PLEバイト・レーンを示すバイト
(この場合F)は、第3LEバイト・レーン(アドレス
XX010)に再マッピングされ、第7PLEバイト・
レーンを占めるバイト(この場合G)は、第2LEバイ
ト・レーン(アドレスXX001)に再マッピングさ
れ、第8PLEバイト・レーンを占めるバイト(この場
合H)は、第1LEバイト・レーン(アドレスXX00
0)に再マッピングされる。
【0016】図3に戻って、BEデバイスは、開始アド
レスXX000およびXX100によってインデクスさ
れた2つの4バイト転送、すなわち2つの「整合され
た」ワード転送を生成する。これらの転送は、リードで
もライトでもよい。例えば、第1転送は、開始アドレス
XX000に関連する4バイトA〜Dを主メモリ14に
書き込んでもよい。図7に示すように、アドレスの3個
の最下位ビットは「100」と排他的論理和される。対
応するPLEまたは「マングド」アドレスはXX100
である。従って、4バイトA〜Dは、アドレス番地XX
100〜XX111に書き込まれる。これらの4バイト
が主メモリ14からLEデバイスに転送されるか、ある
いはBE/PLEデバイスからLEデバイスに直接転送
される場合、全データ経路は反転される。(4有効バイ
トのみがイネーブルされる。)
【0017】ライトの例を続けて、第2の4バイト転送
は、開始アドレスXX100に関連する4バイトE〜H
を主メモリ14に書き込む。図7に示すように、アドレ
スの3個の最下位ビットは、「100」と排他的論理和
される。対応するPLEまたは「マングド」アドレス
は、XX000である。従って、4バイトE〜Hは、ア
ドレス番地XX000〜XX011に書き込まれる。こ
れらの4バイトが主メモリ14からLEデバイスに転送
されるか、あるいはBE/PLEデバイスからLEデバ
イスに直接転送される場合、全データ経路は反転され
る。(4有効バイトのみがイネーブルされる。)
【0018】図4に戻って、BEデバイスは、開始アド
レスXX000およびXX101によってインデクスさ
れた2つの3バイト転送を生成する。これらの転送は、
リードでもライトでもよい。例えば、第1転送は、開始
アドレスXX000に関連する3バイトA〜Cを主メモ
リ14に書き込む。図7に示すように、アドレスの3個
の最下位ビットは「101」と排他的論理和される。対
応するPLEまたは「マングド」アドレスは、XX10
1である。従って、3バイトA〜Cは、アドレス番地X
X101〜XX111に書き込まれる。これらの3バイ
トが主メモリ14からLEデバイスに転送されるか、あ
るいはBE/PLEデバイスからLEデバイスに直接転
送される場合、全データ経路は反転される。(3有効バ
イトのみがイネーブルされる。)
【0019】ライトの例を続けて、第2転送は、開始ア
ドレスXX101に関連する3バイトE〜Gを主メモリ
14に書き込む。図7に示すように、アドレスの3個の
最下位ビットは「101」と排他的論理和される。対応
するPLEまたは「マングド」アドレスはXX000で
ある。従って、3バイトE〜Gは、アドレス番地XX0
00〜XX010に書き込まれる。これらの3バイトが
主メモリ14からLEデバイスに転送されるか、あるい
はBE/PLEデバイスからLEデバイスに直接転送さ
れる場合、全データ経路は反転される。(3有効バイト
のみがイネーブルされる。)
【0020】図5にも度って、BEデバイスは、開始ア
ドレスXX000,XX010,XX100,XX11
0によってインデクスされた4つの2バイト転送、すな
わち4つの「整合された」半ワード転送を生成する。こ
れらの転送は、リードでもライトでもよい。例えば、第
1転送は、開始アドレスXX000に関連する2バイト
AおよびBを主メモリ14に書き込む。図7に示すよう
に、アドレスの3個の最下位ビットは、「110」と排
他的論理和される。対応するPLEまたは「マングド」
アドレスはXX110である。従って、2バイトAおよ
びBは、アドレス番地XX110およびXX111に書
き込まれる。これらの2バイトが主メモリ14からLE
デバイスに転送されるか、あるいはBE/PLEデバイ
スからLEデバイスに直接転送される場合、全データ経
路は反転される(2有効バイトのみがイネーブルされ
る。)
【0021】ライトの例を続けて、第2の2バイト転送
は、開始アドレスXX010に関連するバイトCおよび
Dを主メモリ14に書き込む。図7に示すように、アド
レスの3個の最下位ビットは「110」と排他的論理和
される。対応するPLEまたは「マングド」アドレスは
XX100である。従って、2バイトCおよびDは、ア
ドレス番地XX100およびXX101に書き込まれ
る。これら2バイトが主メモリ14からLEデバイスに
転送されるか、あるいはBE/PLEデバイスからLE
デバイスに直接転送される場合、全データ経路は反転さ
れる(2有効バイトのみがイネーブルされる。)
【0022】ライトの例を続けて、第3の2バイト転送
は、開始アドレスXX100に関連するバイトEおよび
Fを主メモリ14に書き込む。図7に示すように、アド
レスの3個の最下位ビットは「110」と排他的論理和
される。対応するPLEまたは「マングド」アドレス
は、XX010である。従って、2バイトEおよびF
は、アドレス番地XX010およびXX011に書き込
まれる。これら2バイトが主メモリ14からLEデバイ
スに転送されるか、あるいはBE/PLEデバイスから
LEデバイスに直接転送される場合、全データ経路は反
転される。(2有効バイトのみがイネーブルされる。)
【0023】ライトの例を続けて、第4の2バイト転送
は、開始アドレスXX110に関連するバイトGおよび
Hを主メモリ14に書き込む。図7に示すように、アド
レスの3個の最下位ビットは「110」と排他的論理和
される。対応するPLEまたは「マングド」アドレスは
XX000である。従って、2バイトGおよびHは、ア
ドレス番地XX000およびXX001に書き込まれ
る。これら2バイトが主メモリ14からLEデバイスに
転送されるか、あるいはBE/PLEデバイスからLE
デバイスに直接転送される場合、全データ経路は反転さ
れる(2有効バイトのみがイネーブルされる。)
【0024】図6に戻って、BEデバイスは、8つの開
始アドレスXX000〜XX111によってインデクス
される8つのシングル・バイト転送を生成する。これら
の転送は、リードでもライトでもよい。例えば、8つの
シングル・バイト転送は、8バイトA〜Hを主メモリ1
4に個別に書き込むことができる。図7に示すように、
各アドレスの3個の最下位ビットは「111」と排他的
論理和される。8つの開始アドレスXX000〜XX1
11はマングされ、8つのPLEアドレスXX111〜
XX000をそれぞれ生成する。従って、8バイトH〜
Aは、アドレス番地XX000〜XX111にそれぞれ
書き込まれる。これらのバイトが主メモリ14からLE
デバイスに転送されるか、あるいはBE/PLEデバイ
スからLEデバイスに直接転送される場合、全データ経
路は反転される(有効バイトのみがイネーブルされ
る。)BEバイト配列およびLEバイト配列は、この場
合同一であることに留意されたい。一般に、データ転送
サイズが最小データ・ユニットと同じサイズならば、B
E,LE,PLEの間に違いはない。
【0025】図8は、図1に示すインタバス・バッファ
18のブロック図を示す。インタバス・バッファ14
は、左側部20と、右側部22と、共通制御ユニット2
4とを有する。
【0026】左側部20および制御ユニット24は、ロ
ーカル・バスからプロセッサ・バスへのデータおよびア
ドレスのフローを制御する。データ・プロセッサ12が
ローカル・バスに結合されたデバイスからデータを読み
出すとき、あるいはローカル・バスに結合されたデバイ
スがデータを主メモリ14に書き込むときに、データは
ローカル・バスからプロセッサ・バスに流れる。ローカ
ル・バスに結合されたデバイスが主メモリ14に対して
データの読み書きを行うとき、アドレスはローカル・バ
スからプロセッサ・バスに流れる。データ・プロセッサ
12は、ロード命令の実行に応答して、ローカル・バス
に結合されたデバイスからデータを読み出す。ローカル
・バスに結合されたデバイスは、デバイスのさまざまな
動作に応答して、主メモリ14に対するデータの読み書
きを行う。
【0027】右側部22および制御ユニット24は、プ
ロセッサ・バスからローカル・バスへのデータおよびア
ドレスのフローを制御する。データ・プロセッサ12が
ローカル・バスに結合されたデバイスにデータを書き込
むとき、あるいはローカル・バスに結合されたデバイス
が主メモリ14からデータを読み出すとき、データはプ
ロセッサ・バスからローカル・バスに流れる。データ・
プロセッサ12がローカル・バスに結合されたデバイス
に対してデータの読み書きを行うとき、アドレスはプロ
セッサ・バスからローカル・バスに流れる。データ・プ
ロセッサ12は、ストア命令の実行に応答して、および
データ・コヒーレンシ・プロトコル(data coherency pr
otocok) 、すなわち「データ・キャストアウト・アフタ
・スヌーピング(data cast-out after snooping)に応答
して、ローカル・バスに結合されたデバイスにデータを
書き込む。ローカル・バスに結合されたデバイスは、デ
バイスのさまざまな動作に応答して、主メモリ14から
データを読み出す。
【0028】図8に示す左側部20を続けて、ローカル
・バスからのデータおよびアドレス情報は下から入り、
プロセッサ・バスに向かって上に流れる。特に、32デ
ータ・ビットは左側部20に入り、互いに対してバイト
・スワップされる:すなわち、第1バイトは第4バイト
・レーンに再転送され、第2バイトは第3バイト・レー
ンに再転送され、第3バイトは第2バイト・レーンに再
転送され、第4バイトは第1バイト・レーンに再転送さ
れる。図示の実施例は、多重層金属相互接続の金属酸化
物半導体(「MOS」)プロセスを利用して製造され
る。図示のバイト反転は、メタル・ツー・メタル穴(met
al to metal via)を有利に配置することによって達成さ
れる。
【0029】バイト・スワップされた後、32データ・
ビットは、ローカル・アドレス・ラッチ26と、ローカ
ル・データ・ロー・ラッチ(local data low latch)28
と、ローカル・データ・ハイ・ラッチ(local data high
latch) 30とに入力される。制御信号LATCH_A
DDRESSにより、ローカル・アドレス・ラッチ26
は入力データ・ビットをサンプル・ホールドする。次
に、入力アドレス・ビットは、プロセッサ・アドレス・
バスに送られ、8データ・バイトを選択する。制御信号
LOCAL_LOW_SELECTにより、ローカル・
データ・ロー・ラッチ28は入力データ・ビットをサン
プル・ホールドする。制御信号LOCAL_HIGH_
SELECTにより、ローカル・データ・ハイ・ラッチ
30は、入力データ・ビットをサンプル・ホールドす
る。制御ユニット24は、制御信号LATCH_ADD
RESS,LOCAL_LOW_SELECTおよびL
OCAL_HIGH_SELECTを生成する。制御ユ
ニット24の動作は、図9および図10で説明する。
【0030】ローカル・データ・ロー・ラッチ28によ
って出力された4バイトは、再度バイト・スワップさ
れ、32ビットの2:1マルチプレクサ(「MUX」)
32の入力の1セットに接続される。また、マルチプレ
クサ32は、バイト・スワップされていないローカル・
データ・ロー・ラッチ28によって出力された32ビッ
トも受ける。ローカル・データ・ハイ・ラッチ30によ
って出力された4バイトは、再度バイト・スワップさ
れ、32ビットの2:1マルチプレクサ(「MUX」)
34の入力の1セットに接続される。また、マルチプレ
クサ34は、バイト・スワップされていないローカル・
データ・ハイ・ラッチ30によって出力された32ビッ
トも受ける。制御信号LE_MODEは、マルチプレク
サ32,34の出力を選択する。特に、制御信号LE_
MODEは、データを発信するローカル・デバイスがL
Eデバイスである(またプロセッサ・バス・デバイスが
PLEデバイスである)場合に、アサートされる。制御
信号LE_MODEは、データを発信するローカル・デ
バイスがBEデバイスである(またプロセッサ・バス・
デバイスがBEデバイスである)場合に、デアサートさ
れる。アサートされると、制御信号LE_MODEによ
り、マルチプレクサ32,34は、ローカル・データ・
ロー・ラッチ28およびローカル・データ・ハイ・ラッ
チ30の非スワップ出力を出力する。(バイトは、入力
時に一回だけスワップされ、その結果、バイト再配列が
生じる。)デアサートされると、制御信号LE_MOD
Eにより、マルチプレクサ32,34は、ローカル・デ
ータ・ロー・ラッチ28およびローカル・データ・ハイ
・ラッチ30のバイト・スワップされた出力を出力す
る。(バイトは2回スワップされ、その結果、バイト再
配列は生じない。)マルチプレクサ32によって出力さ
れた32ビット出力は、マルチプレクサ34によって出
力された32ビット出力と連結(concatenate) され、6
4ビットのデータ信号となる。このデータ信号は、図1
に示すプロセッサ・データ・バスに接続される。図8に
示す右側部22を続けて、プロセッサ・バスからのデー
タは、上から入り、ローカル・バスに向かって下に流れ
る。特に、64データ・ビットは右側部22に入り、ト
ランザクション・アドレスADDRESS(27,2
8)の第4および第5最下位ビットに応じて、4つのダ
ブル・ワード・ラッチ36,38,40,42の1つに
よってラッチされる。(データ・プロセッサ12は、整
合されたダブル・クワッド・ワード(aligned double qu
ad-word)データ・ユニット(256ビット)でバス・ト
ランザクションを実行する場合が多い。この方式は、バ
ス帯域幅とアドレス変換細分性(address translation g
ranularity) の制約のバランスをとる。)64ビットの
4:1マルチプレクサ(「MUX」)44は、ダブル・
ワード・ラッチ36,38,40,42の出力をそれぞ
れ受ける。トランザクションに関連するアドレスADD
RESS(27,28)の第4および第5最下位ビット
は、マルチプレクサ44の1つの特定の入力を選択す
る。マルチプレクサ44の64ビット出力は、上位半分
(more significant half) (ビット0:31)および下
位半分(less significant half) (ビット32:64)
に分割される。各半分は、ローカル・バスと同じサイ
ズ、すなわち32ビットである。
【0031】マルチプレクサ44によって出力された上
位半分のバイトは、バイト・スワップされ、32ビット
の2:1マルチプレクサ(「MUX」)46の入力の1
セットに接続される。また、マルチプレクサ46は、バ
イト・スワップされていないマルチプレクサ44によっ
て出力された上位半分のバイトも受ける。マルチプレク
サ44によって出力された下位半分のバイトは、バイト
・スワップされ、32ビットの2:1マルチプレクサ
(「MUX」)48の入力の1セットに接続される。ま
た、マルチプレクサ48は、バイト・スワップされてい
ないマルチプレクサ44によって出力された下位半分の
バイトも受ける。制御信号LE_MODEは、マルチプ
レクサ46、48の出力を選択する。アサートされる
と、制御信号LE_MODEにより、マルチプレクサ4
6,48は、マルチプレクサ44によって出力された非
スワップの上位半分および下位半分を出力する。デアサ
ートされると、制御信号LE_MODEにより、マルチ
プレクサ46,48は、マルチプレクサ44によって出
力された、バイト・スワップされた上位半分および下位
半分を出力する。マルチプレクサ46,48の出力は、
32ビットの3:1マルチプレクサ(「MUX」)50
の入力の2セットに接続される。また、マルチプレクサ
50は、プロセッサ・アドレス・バス上に存在するアド
レス信号も受ける。この接続は、マルチプレクサ50に
対する3つの入力のうち1つを選択する一対の制御信号
PROCESSOR_LOW_SELECTおよびPR
OCESSOR_HIGH_SELECTの経路とな
る。制御ユニット24は、制御信号PROCESSOR
_LOW_SELECTおよびPROCESSOR_H
IGH_SELECTを生成する。制御ユニット24の
動作は、図9および図10で説明する。マルチプレクサ
50の出力は、ラッチ52によってラッチされる。ラッ
チ52の出力は、バイト・スワップされてから、ローカ
ル・バスに接続される。図9および図10は、図8に示
すインタバス・バッファの一部の動作を示す2つの状態
遷移図である。制御ユニット24は、その動作を決定す
る11の入力制御信号、すなわちDEVSEL,DAT
A_COUNT,LE_MODE,FRAME,IRD
Y,ADDRESS(29),DATARDY,MAS
TER,TARGETおよびRESETを受ける。
【0032】制御信号DEVSELは、ターゲット・デ
バイスが特定のトランザクションを受けたことを表す。
(PCIバス・プロトコルでは、DEVSELはアクテ
ィブ・ロー信号であると規定する。説明の便宜上、以下
ではDEVSELはアクティブ・ハイ制御信号であるも
のとして説明する。)
【0033】制御信号DATA_COUNTは、マスタ
として特定のトランザクションにおける転送の数を表
す。DATA_COUNTがゼロに等しい場合、トラン
ザクションは8つのデータ転送からなる。インタバス・
バッファ18は、DATA_COUNTを生成する。プ
ロセッサ・バスが開始したトランザクションでは、DA
TA_COUNTは、転送される整合された32ビット
量(quanta)の数を表す。DATA_COUNTは、Powe
rPC 60X 制御信号T_SIZEおよびT_BURSTか
ら算出される。ローカル・バスが開始したトランザクシ
ョンでは、DATA_COUNTは、「関係なし(don't
care)」である。(PCIバス・プロトコルは、このよ
うなパラメータを規定しない。) 制御信号LE_MODEは、データ処理システム10が
LEモード(アサート)またはBEモード(デアサー
ト)で動作しているかを表す。前述のように、データ・
プロセッサ12は、データ処理システム10がLEモー
ドで動作しているときPLEモードで動作する。図示の
実施例では、インタバス・バッファ18におけるユーザ
・アクセス可能なレジスタの出力は、制御信号LE_M
ODEを生成する。
【0034】制御信号FRAMEは、PCEバス・プロ
トコル制御信号である。この信号は、PCIバス準拠の
デバイスから開始された特定のトランザクションにおけ
るデータ転送の数を表す。このようなデバイスは、1つ
またはそれ以上のデータ転送を必要とする限り、FRA
MEをアサートする。(PCIバス・プロトコルでは、
FRAMEはアクティブ・ロー信号であると規定する。
説明の便宜上、以下ではFRAMEはアクティブ・ハイ
制御信号であるものとして説明する。)
【0035】制御信号IRDY(「アイ・レディ(I-rea
dy) 」と発音する)は、PCIバス・プロトコル制御信
号である。アサートされると、特定のトランザクション
を開始したPCIデバイスが、トランザクションのタイ
プを考慮して適宜受信または送信準備ができていること
を表す。(PCIバス・プロトコルでは、IRDYはア
クティブ・ロー信号であると規定する。説明の便宜上、
以下ではIRDYはアクティブ・ハイ制御信号であるも
のとして説明する。)
【0036】制御信号TRDY(「ティ・レディ(T-rea
dy) 」と発音する)は、PCIバス・プロトコル制御信
号である。アサートされると、特定のトランザクション
のターゲット・デバイスであるPCIデバイスが、トラ
ンザクションのタイプを考慮して適宜受信または送信準
備ができていることを表す。(PCIバス・プロトコル
では、TRDYはアクティブ・ロー信号であると規定す
る。説明の便宜上、以下ではTRDYはアクティブ・ハ
イ制御信号であるものとして説明する。) 制御信号ADDRESS(29)は、特定のバス・ツー
・バス転送の32アドレス・ビットのうち30番目のビ
ットである。制御ユニット24は、以下で説明するよう
に、次のクロック・サイクルで用いるため各クロック・
サイクルで制御信号ADDRESS(29)をラッチす
る。このラッチされた制御信号は、LATCH[ADD
RESS(29)]と記される。
【0037】制御信号DATARDY(「データ・レデ
ィ(data ready)」と発音する)は、インタバス・バッフ
ァ18によって生成される。アサートされると、データ
・プロセッサ12または主メモリ14のいずれかからの
データがローカル・バスに転送できることを表す。
【0038】制御信号MASTERおよびTARGET
は、データ・プロセッサ12、またはローカル・バスに
接続されたデバイスが特定のトランザクションのマスタ
であることを表す。アサートされると、MASTER
は、データ・プロセッサ12がインタバス・バッファ1
8のマスタであることを表す。アサートされると、TA
RGETは、ローカル・バスに接続されたデバイスがイ
ンタバス・バッファ18のマスタであることを表す。
【0039】インタバス18上のピンは、制御信号RE
SETを生成する。アサートされると、RESETはイ
ンタバス・バッファ18を再イニシャライズする。
【0040】図9に戻って、制御信号LATCH_AD
DRESS,LOCAL_LOW_SELECTおよび
LOCAL_HIGH_SELECTの動作を説明する
状態遷移図を示す。制御信号LOCAL_LOW_SE
LECTおよびLOCAL_HIGH_SELECT
は、ローカル・バスからプロセッサ・バスに流れる下位
および上位データ・ワードを指し、ラッチする。制御ユ
ニット24は、3つの状態、すなわちLATCH AD
DRESS,LATCH LOW WORDおよびLA
TCH HIGH WORDをこの目的に向けて処理す
る。制御ユニット24は、LATCH ADDRESS
状態の場合にのみ、制御信号LATCH_ADDRES
Sをアサートする。制御ユニット24は、LATCH
LOW WORD状態の場合にのみ、制御信号LOCA
L_LOW_SELECTをアサートする。制御ユニッ
ト24は、LATCH HIGH WORD状態の場合
にのみ、制御信号LOCAL_HIGH_SELECT
をアサートする。
【0041】制御ユニット24は、制御信号RESET
がアサートされた後に、LATCHADDRESS状態
にイニシャライズされる。制御ユニット24は、ファン
クションAが論理真の場合に、LATCH LOW W
ORD状態に遷移する。逆に、ファンクションAが論理
偽の場合、制御ユニット24はLATCH ADDRE
SSからLATCH HIGH WORD状態に遷移す
る。ファンクションBが論理真の場合、制御ユニット2
4はLATCH LOW WORD状態からLATCH
HIGH WORD状態に、またはその逆に遷移す
る。ファンクションBは、以下で再現される。ファンク
ションCが論理真の場合、制御ユニット24は、LAT
CH LOW WORD状態からLATCH ADDR
ESS状態に、またはLATCH HIGH WORD
状態からLATCH ADDRESS状態に遷移する。
ファンクションCは、以下で再現される。ファンクショ
ンDが論理真の場合、制御ユニット24はLATCH
LOW WORD状態またはLATCH HIGH W
ORD状態のままである。
【0042】図10に戻って、制御信号PROCESS
OR_LOW_SELECTおよびPROCESSOR
_HIGH_SELECTの動作を説明する状態遷移図
を示す。制御信号PROCESSOR_LOW_SEL
ECTおよびPROCESSOR_HIGH_SELE
CTは、プロセッサ・バスからローカル・バスに流れる
下位および上位データ・ワードを指し、出力する。制御
ユニット24は、3つの状態、すなわちMUX ADD
RESS,MUX LESS SIGNIFICANT
HALFおよびMUX MORE SIGNIFIC
ANT HALFをこの目的に向けて処理する。制御ユ
ニット24は、状態MUX LESSSIGNIFIC
ANT HALFの場合にのみ、制御信号PROCES
SOR_LOW_SELECTをアサートする。制御ユ
ニット24は、状態MUX MORE SIGNIFI
CANT HALFの場合にのみ制御信号PROCES
SOR HIGH SELECTをアサートする。マル
チプレクサ50は、制御ユニット24が制御信号PRO
CESSOR_LOW_SELECTまたは制御信号P
ROCESSOR_HIGH_SELECTのいずれも
アサートしない場合に、ADDRESS入力を選択す
る。
【0043】制御ユニット24は、制御信号RESET
がアサートされた後にMUX ADDRESS状態にイ
ニシャライズされる。制御ユニット24は、ファンクシ
ョンEが論理真の場合に、MUX LESS SIGN
IFICANT HALF状態に遷移する。ファンクシ
ョンEは、以下で再生される。逆に、ファンクションE
が論理偽の場合、制御ユニット24はMUX ADDR
ESSからMUX MORE SIGNIFICANT
HALF状態に遷移する。ファンクションBが論理真
の場合、制御ユニット24はMUX LESS SIG
NIFICANT HALF状態からMUX MORE
SIGNIFICANT HALF状態に、あるいは
その逆に遷移する。ファンクションCが論理真の場合、
制御ユニット24はMUX LESS SIGNIFI
CANT HALF状態からMUX ADDRESS状
態に、あるいはMUX MORE SIGNIFICA
NT HALF状態からMUX ADDRESS状態に
遷移する。ファンクションDが論理真の場合、制御ユニ
ット24はMUX MORE SIGNIFICANT
HALF状態またはMUX LESS SIGNIF
ICANT HALF状態のままである。
【0044】ファンクションA〜Eは、以下のように定
められる:
【0045】
【数1】
【0046】インタバス・バッファ18の動作は、図2
ないし図6ならびに図9および図10を参照して説明で
きる。
【0047】例えば、図3は、ローカル・バス・デバイ
スから主メモリ14のアドレスXX000への1ワード
・ライト(バイトABCD)または2つの1ワード・ラ
イト(バイトABCDEFGH)を説明するために利用
できる。このようなトランザクションでは、制御ユニッ
ト24は、まず、制御信号LATCH_ADDRESS
をアサートし、トランザクションの宛先アドレス(desti
nation address) をラッチする。このアドレスは、プロ
セッサ・アドレス・バスに出力され、ここでこのアドレ
スは、固有の格納番地を選択するため主メモリ14によ
って用いられる。次に、制御ユニット24は、着信デー
タ・ワードをローカル・データ・ロー・ラッチ28また
はローカル・データ・ハイ・ラッチ30にいずれかにラ
ッチする。
【0048】ローカル・バス・デバイスがLEモードで
動作しており、トランザクションが整合されたダブル・
ワード(ADDRESS(29)がゼロ)の第1ワード
で開始する場合、第1の4個の着信バイトはDCBAに
相当し、第2の4個の着信バイトはHGFEに相当す
る。(このバイト配列については、図3の中央部分に図
示。)この場合、論理ファンクションAは真である。制
御ユニット24により、ローカル・データ・ロー・ラッ
チ28は、着信データをサンプル・ホールドする。前述
のように、着信データは、少なくとも一回、常にバイト
・スワップされる。従って、ローカル・データ・ロー・
ラッチ28は、ABCDを受ける。マルチプレクサ32
は、バイト・スワップされていない入力を選択し、バイ
トABCDをアドレスXX100〜XX111に送る。
4データ・バイトの転送後、論理ファンクションBは真
である。制御ユニット24により、ローカル・データ・
ハイ・ラッチ30は、着信データをサンプル・ホールド
する。この場合も、着信データは常にバイト・スワップ
される。従って、ローカル・データ・ハイ・ラッチ30
は、EFGHを受ける。マルチプレクサ34は、バイト
・スワップされていない入力を選択し、バイトEFGH
をアドレスXX000〜XX011に送る。最終的なバ
イト配列EFGHABCDは、図3の右側部において図
示されている。インタバス・バッファ18は、ローカル
・データ・ハイ・ラッチ30がそのデータをラッチした
後に、適切なバイト・イネーブル信号とともに、64デ
ータ・ビットをプロセッサ・バスに出力する。
【0049】ローカル・バス・デバイスが上記の例でB
Eモードで動作している場合、第1の4個の着信バイト
はABCDに相当し、第2の4個の着信バイトはEFG
Hに相当する。(このバイト配列は、図3の左側部に図
示。)ここで、論理ファンクションAは偽であり、制御
ユニット24により、ローカル・データ・ハイ・ラッチ
30は着信データをサンプル・ホールドする。前述のよ
うに、着信データは、少なくとも一回、常にバイト・ス
ワップされる。従って、ローカル・データ・ハイ・ラッ
チ30は、DCBAを受ける。マルチプレクサ34は、
バイト・スワップされた入力を選択し、バイトABCD
をアドレスXX000〜XX011に送る。4データ・
バイトの転送後、論理ファンクションBは真であり、制
御ユニット24により、ローカル・データ・ロー・ラッ
チ28は、着信データをサンプル・ホールドする。この
場合でも、着信データは常にバイト・スワップされる。
従って、ローカル・データ・ロー・ラッチ28はHGF
Eを受ける。マルチプレクサ32は、そのバイト・スワ
ップされた入力を選択し、バイトEFGHをアドレスX
X100〜XX111に送る。最終的なバイト配列AB
CDEFGHは、図3の左側部で図示されている。イン
タバス・バッファ18は、ローカル・データ・ロー・ラ
ッチ28がそのデータをラッチした後、適切なバイト・
イネーブル信号とともに64データ・ビットをプロセッ
サ・バスに出力する。
【0050】ローカル・バス・デバイスがデータを発信
し続ける場合、制御ユニット24は、ローカル・データ
・ロー・ラッチ28とローカル・データ・ハイ・ラッチ
30との間でトグルし続ける。前述のように、ローカル
・バス・デバイスは、あらかじめそのトランザクション
・サイズを示さない。従って、着信データはバイト・レ
ーン多重化によって再配列できない。制御ユニット24
は、着信データを再配列しなければならない。
【0051】別の例を続けて、図3は、データ・プロセ
ッサ12からローカル・バスのアドレスXX000およ
びXX100へのバイトABCDおよびEFGHの2つ
の連続したライトを説明するために利用できる。このよ
うなトランザクションでは、制御ユニット24は、ま
ず、制御信号PROCESSOR_LOW_SELEC
TまたはPROCESSOR_HIGH_SELECT
のいずれも選択せず、それによりマルチプレクサ50は
トランザクションの宛先アドレスを出力する。このアド
レスはローカル・バスに出力され、ここで、デバイス1
6のうち1つの固有格納番地を選択するために用いられ
る。一方、ダブル・ワード・ラッチ36,38,40,
42の1つは、整合されたダブル・クワッド・ワードに
おけるダブル・ワードの番地に応じて、着信ダブル・ワ
ードをラッチする。整合されたダブル・クワッド・ワー
ドにおける残り3つのダブル・ワードは、「関係なし(d
on'tcares) 」である。ダブル・ワード・ラッチ36,
38,40または42によってラッチされたデータは、
データ・プロセッサ12およびインタバス・バッファ1
8がBEモードのとき、BEモードに従って配列され
る。ダブル・ワード・ラッチ36,38,40または4
2によってラッチされたデータは、データ・プロセッサ
12がPLEモードであり、かつインタバス・バッファ
18がLEモードのとき、PLEモードに従って配列さ
れる。
【0052】ローカル・バス・デバイスがLEモードで
動作し、トランザクションがダブル・ワードの第1ワー
ド(ADDRESS(29)がゼロ)で開始し、DAT
A_COUNTが1に等しくない場合、論理ファンクシ
ョンEは真である。マルチプレクサ44は、バイトAB
CDをマルチプレクサ48に出力し、バイトEFGHを
マルチプレクサ46に出力する。(データ・プロセッサ
12はPLEモードで動作する。)マルチプレクサ4
6,48は、バイト・スワップされていない入力を選択
し、その出力をマルチプレクサ50に送る。制御ユニッ
ト24により、マルチプレクサ50はマルチプレクサ4
8の出力、すなわちバイトABCDを選択する。前述の
ように、発信データは、マルチプレクサ50の後に常に
バイト・スワップされる。従って、ローカル・バス・デ
バイスはバイトDCBAをアドレスXX000〜XX0
11に格納する。4データ・バイトの転送の後、論理フ
ァンクションBは真である。制御ユニット24により、
マルチプレクサ50はマルチプレクサ46の出力、すな
わちバイトEFGHを選択する。前述のように、発信デ
ータはバイト・スワップされる。従って、ローカル・バ
ス・デバイスはバイトHGFEをアドレスXX100〜
XX111に格納する。最終的なバイト配列DCBAH
GFEは、図3の中央部分に図示されている。
【0053】ローカル・バス・デバイスがBEモードで
動作し、トランザクションがダブル・ワードの第1ワー
ド(ADDRESS(29)がゼロ)で開始する場合、
論理ファンクションEは偽である。マルチプレクサ44
は、バイトABCDをマルチプレクサ46に出力し、バ
イトEFGHをマルチプレクサ48に出力する。(デー
タ・プロセッサ12は,BEモードで動作する。)マル
チプレクサ46,48は、バイト・スワップされた入力
を選択し、その出力をマルチプレクサ50に送る。制御
ユニット24により、マルチプレクサ50はマルチプレ
クサ46の出力、すなわちバイトDCBAを選択する。
前述のように、発信データは、マルチプレクサ50の後
に常にバイト・スワップされる。従って、ローカル・バ
ス・デバイスは、バイトABCDをアドレスXX000
〜XX011に格納する。4データ・バイトの転送の
後、論理ファンクションBは真である。制御ユニット2
4により、マルチプレクサ50は、マルチプレクサ48
の出力、すなわちバイトHGFEを選択する。前述のよ
うに、発信データはバイト・スワップされる。従って、
ローカルバス・デバイスは、バイトEFGHをアドレス
XX100〜XX111に格納する。最終的なバイト配
列ABCDEFGHは、図3の左側部分に図示されてい
る。
【0054】特定の実施例を参照して本発明について説
明してきたが、更なる修正や改善は当業者に想起され
る。例えば、本発明はデータ・プロセッサ12内に内蔵
してもよい。従って、本発明は、請求の範囲に定められ
る発明の精神および範囲から逸脱しないかかるいっさい
の修正を網羅するものとする。
【図面の簡単な説明】
【図1】本発明により構成されたデータ処理システムの
ブロック図である。
【図2】ビッグ・エンディアン・モード,真リトル・エ
ンディアン・モードおよび疑似リトル・エンディアン・
モードで動作する装置間のさまざまなサイズのデータ転
送の例を表形式で示す図である。
【図3】ビッグ・エンディアン・モード,真リトル・エ
ンディアン・モードおよび疑似リトル・エンディアン・
モードで動作する装置間のさまざまなサイズのデータ転
送の例を表形式で示す図である。
【図4】ビッグ・エンディアン・モード,真リトル・エ
ンディアン・モードおよび疑似リトル・エンディアン・
モードで動作する装置間のさまざまなサイズのデータ転
送の例を表形式で示す図である。
【図5】ビッグ・エンディアン・モード,真リトル・エ
ンディアン・モードおよび疑似リトル・エンディアン・
モードで動作する装置間のさまざまなサイズのデータ転
送の例を表形式で示す図である。
【図6】ビッグ・エンディアン・モード,真リトル・エ
ンディアン・モードおよび疑似リトル・エンディアン・
モードで動作する装置間のさまざまなサイズのデータ転
送の例を表形式で示す図である。
【図7】ビッグ・エンディアン・モードおよび疑似リト
ル・エンディアン・モードで動作する装置間のデータ転
送で用いられるマッピング方式を表形式で示す図であ
る。
【図8】図1に示すバス・ツー・バス(bus-to-bus)
(「インタバス・バッファ(interbus buffer)」を示す
ブロック図である。
【図9】図8に示すインタバス・バッファの一部の動作
を示す状態遷移図である。
【図10】図8に示すインタバス・バッファの一部の動
作を示す状態遷移図である。
【符号の説明】
10 データ処理システム 12 データ・プロセッサ 14 主メモリ・システム 16 周辺デバイス 18 バス・ツー・バス・ブリッジ回路(インタバス・
バッファ) 20 左側部 22 右側部 24 共通制御ユニット 26 ローカル・アドレス・ラッチ 28 ローカル・データ・ロー・ラッチ 30 ローカル・データ・ハイ・ラッチ 32 2:1マルチプレクサ 34 2:1マルチプレクサ 36,38,40,42 ダブル・ワード・ラッチ 44 4:1マルチプレクサ 46 2:1マルチプレクサ 48 2:1マルチプレクサ 50 3:1マルチプレクサ 52 ラッチ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 Nを整数として、第1バスからNデータ
    ・ビットを受信し、2Nデータ・ビットを第2バスに送
    信する第1データ経路(20)であって、前記第1バス
    は第1デバイスに結合され、第2デバイスは前記第2バ
    スに結合され、前記第1データ経路は:前記第1バスに
    結合された第1ラッチ手段(28)であって、第1制御
    信号に応答して、Nデータ・ビットをラッチする第1ラ
    ッチ手段と(28);前記第1ラッチ手段の出力と、前
    記第1ラッチ手段のバイト反転出力とに結合された第1
    の2:1スイッチング手段(32)であって、前記第1
    の2:1スイッチング手段の出力は、前記第1デバイス
    がビッグ・エンディアン・バイト配列モードまたはリト
    ル・エンディアン・バイト配列モードで動作しているか
    どうかに応答して選択される、第1の2:1スイッチン
    グ手段(32)と;前記第1バスに結合された第2ラッ
    チ手段(30)であって、第2制御信号に応答してNデ
    ータ・ビットをラッチする第2ラッチ手段(30)と;
    前記第2ラッチ手段の出力と、前記第2ラッチ手段のバ
    イト反転出力とに結合された第2の2:1スイッチング
    手段(34)であって、前記第2の2:1スイッチング
    手段の出力は、前記第1デバイスが前記ビッグ・エンデ
    ィアン・バイト配列モードまたは前記リトル・エンディ
    アン・バイト配列モードで動作しているかどうかに応答
    して選択され、前記第1および第2の2:1スイッチン
    グ手段の出力は連結され、前記第2バスに出力されるデ
    ータをなす第2の2:1スイッチング手段(34)と;
    からなる第1データ経路;前記第2バスから2Nデータ
    ・ビットを受信し、前記第1バスにNデータ・ビットを
    送信する第2データ経路(22)であって、前記第2デ
    ータ経路は:前記第2バスから前記2Nデータ・ビット
    のうち第1のN順次ビットと、前記2Nデータ・ビット
    のうち前記第1のN順次ビットのバイト反転とを受信す
    る第3の2:1スイッチング手段(46)であって、前
    記第3の2:1スイッチング手段の出力は、前記第2デ
    バイスがビッグ・エンディアン・バイト配列モードまた
    は「マングド」リトル・エンディアン・バイト配列モー
    ドで動作しているかどうかに応答して選択される、第3
    の2:1スイッチング手段(46)と;前記第2バスか
    ら前記2Nデータ・ビットのうち第2のN順次ビット
    と、前記2Nデータ・ビットのうち前記第2のN順次ビ
    ットのバイト反転とを受信する第4の2:1スイッチン
    グ手段(48)であって、前記第4の2:1スイッチン
    グ手段の出力は、前記第2デバイスがビッグ・エンディ
    アン・バイト配列モードまたは「マングド」リトル・エ
    ンディアン・バイト配列モードで動作しているかどうか
    に応答して選択される、第4の2:1スイッチング手段
    (48)と;前記第3のスイッチング手段の出力と、前
    記第4スイッチング手段の出力とを受信する第5の2:
    1スイッチング手段(50)であって、前記第5の2:
    1スイッチング手段の出力は、第3制御信号に応答して
    選択される第5の2:1スイッチング手段(50)と;
    からなる第2データ経路;および前記第1データ経路お
    よび前記第2データ経路に結合された制御ユニット(2
    4)であって、前記制御ユニットは、入力アドレスに応
    答して前記第1,第2および第3制御信号を生成し、前
    記入力アドレスは、データ転送のソースをインデクスす
    る制御ユニット(24);によって構成されることを特
    徴とするインタバス・バッファ(18)。
  2. 【請求項2】 前記第1および第2ラッチ手段は、前記
    第1バスのバイト反転に結合されることを特徴とする請
    求項1記載のインタバス・バッファ。
  3. 【請求項3】 Nを整数として、第1バスからNデータ
    ・ビットを受信し、第2バスに2Nデータ・ビットを送
    信する第1データ経路(20)であって、前記第1バス
    は第1デバイスに結合され、第2デバイスは前記第2バ
    スに結合され、前記第1データ経路は:前記第1バスに
    結合された第1ラッチ手段(28)であって、第1制御
    信号に応答して、Nデータ・ビットをラッチする第1ラ
    ッチ手段(28)と;前記第1ラッチ手段の出力と、前
    記第1ラッチ手段のバイト反転出力とに結合された第1
    の2:1スイッチング手段(32)であって、前記第1
    の2:1スイッチング手段の出力は、前記第1デバイス
    がビッグ・エンディアン・バイト配列モードまたはリト
    ル・エンディアン・バイト配列モードで動作しているか
    どうかに応答して選択される、第1の2:1スイッチン
    グ手段(32)と;前記第1バスに結合された第2ラッ
    チ手段(30)であって、第2制御信号に応答してNデ
    ータ・ビットをラッチする第2ラッチ手段(30)と;
    前記第2ラッチ手段の出力と、前記第2ラッチ手段のバ
    イト反転出力とに結合された第2の2:1スイッチング
    手段(34)であって、前記第2の2:1スイッチング
    手段の出力は、前記第1デバイスが前記ビッグ・エンデ
    ィアン・バイト配列モードまたは前記リトル・エンディ
    アン・バイト配列モードで動作しているかどうかに応答
    して選択され、前記第1および第2の2:1スイッチン
    グ手段の出力は連結され、前記第2バスに出力されるデ
    ータをなす第2の2:1スイッチング手段(34)と;
    からなる第1データ経路(20);および前記第1デー
    タ経路に結合された制御ユニット(24)であって、前
    記制御ユニットは、入力アドレスに応答して、第1およ
    び第2制御信号を生成し、前記入力アドレスは、データ
    転送のソースをインデクスする制御ユニット(24);
    によって構成されることを特徴とするインタバス・バッ
    ファ(18)。
  4. 【請求項4】 前記第1および第2ラッチ手段は、前記
    第1バスのバイト反転に結合されることを特徴とする請
    求項3記載のインタバス・バッファ。
  5. 【請求項5】 Nを整数として、第1バスから2Nデー
    タ・ビットを受信し、Nデータ・ビットを第2バスに送
    信する第1データ経路(22)であって、前記第1バス
    は第1デバイスに結合され、第2デバイスは前記第2バ
    スに結合され、前記第1データ経路は:前記第2バスか
    ら前記2Nデータ・ビットのうち第1のN順次ビット
    と、前記2Nデータ・ビットのうち前記第1のN順次ビ
    ットのバイト反転とを受信する第1の2:1スイッチン
    グ手段(46)であって、前記第1の2:1スイッチン
    グ手段の出力は、前記第1デバイスがビッグ・エンディ
    アン・バイト配列モードまたは「マングド」リトル・エ
    ンディアン・バイト配列モードで動作しているかどうか
    に応答して選択される、第1の2:1スイッチング手段
    (46)と;前記第2バスから前記2Nデータ・ビット
    のうち第2のN順次ビットと、前記2Nデータ・ビット
    のうち前記第2のN順次ビットのバイト反転とを受信す
    る第2の2:1スイッチング手段(48)であって、前
    記第2の2:1スイッチング手段の出力は、前記第1デ
    バイスがビッグ・エンディアン・バイト配列モードまた
    は「マングド」リトル・エンディアン・バイト配列モー
    ドで動作しているかどうかに応答して選択される、第2
    の2:1スイッチング手段(48)と;前記第1スイッ
    チング手段の出力と前記第2スイッチング手段の出力と
    を受信する第3の2:1スイッチング手段(50)であ
    って、前記第3の2:1スイッチング手段の出力は、第
    1制御信号に応答して選択される、第3の2:1スイッ
    チング手段(50)と;からなる第1データ経路(2
    2);および前記第1データ経路に結合された制御ユニ
    ット(24)であって、前記制御ユニットは、入力アド
    レスに応答して前記第1制御信号を生成し、前記入力ア
    ドレスは、データ転送のソースをインデクスする制御ユ
    ニット(24);によって構成されることを特徴とする
    インタバス・バッファ(18)。
JP7211305A 1994-08-02 1995-07-28 インタバス・バッファ Pending JPH0863425A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/284,945 US5627975A (en) 1994-08-02 1994-08-02 Interbus buffer for use between a pseudo little endian bus and a true little endian bus
US284945 1994-08-02

Publications (1)

Publication Number Publication Date
JPH0863425A true JPH0863425A (ja) 1996-03-08

Family

ID=23092133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7211305A Pending JPH0863425A (ja) 1994-08-02 1995-07-28 インタバス・バッファ

Country Status (4)

Country Link
US (1) US5627975A (ja)
EP (1) EP0695998A3 (ja)
JP (1) JPH0863425A (ja)
KR (1) KR100381076B1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520956A (ja) * 2003-03-12 2006-09-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データを転送するためのデータ処理の装置および方法
JP2008033722A (ja) * 2006-07-31 2008-02-14 Matsushita Electric Ind Co Ltd エンディアン変換回路を備えたデータ転送制御装置
JP2013517576A (ja) * 2010-01-15 2013-05-16 クアルコム,インコーポレイテッド データ選択とデータ整列またはデータ複製とを組み合わせることを含む多段階の多重化操作
JP2014179107A (ja) * 2008-09-12 2014-09-25 Renesas Electronics Corp 半導体集積回路装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907865A (en) * 1995-08-28 1999-05-25 Motorola, Inc. Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes
US5935232A (en) * 1995-11-20 1999-08-10 Advanced Micro Devices, Inc. Variable latency and bandwidth communication pathways
US5828884A (en) * 1996-05-23 1998-10-27 Advanced Micro Devices, Inc. Method for compiling a software program and executing on a system which converts data between different endian formats
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
US6014720A (en) * 1997-05-05 2000-01-11 Intel Corporation Dynamically sizing a bus transaction for dual bus size interoperability based on bus transaction signals
FR2795573B1 (fr) * 1999-06-25 2001-11-30 Inst Nat Rech Inf Automat Dispositif de gestion d'echanges de donnees entre materiels informatiques
US6691307B2 (en) * 1999-08-03 2004-02-10 Sun Microsystems, Inc. Interpreter optimization for native endianness
JP2001306295A (ja) * 2000-04-26 2001-11-02 Nec Corp エンディアン変換装置及びエンディアン変換方法
US6587897B1 (en) * 2000-06-16 2003-07-01 Unisys Corporation Method for enhanced I/O in an emulated computing environment
US20050066146A1 (en) * 2003-09-19 2005-03-24 Intel Corporation Endian conversion
JP4354315B2 (ja) 2004-03-22 2009-10-28 東芝機械株式会社 アルミニウム溶湯接触部材およびその製造方法
US7966432B2 (en) 2004-07-30 2011-06-21 ST—Ericsson SA Data processing device adaptable to variable external memory size and endianess
JP4437464B2 (ja) * 2005-06-01 2010-03-24 株式会社ルネサステクノロジ 半導体装置及びデータ処理システム
US20070150627A1 (en) * 2005-11-22 2007-06-28 Lsi Logic Corporation Endian mapping engine, method of endian mapping and a processing system employing the engine and the method
JP4499024B2 (ja) 2005-12-02 2010-07-07 東芝機械株式会社 アルミダイカスト用給湯管およびその製造方法
US9304954B2 (en) * 2012-10-24 2016-04-05 Texas Instruments Incorporated Multi processor bridge with mixed Endian mode support

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63211019A (ja) * 1987-02-27 1988-09-01 Hitachi Ltd 直接メモリアクセス制御装置
JPH01231159A (ja) * 1987-12-15 1989-09-14 Advanced Micro Devicds Inc データを転送するための方法およびそのための直接メモリアクセス手段
JPH04315244A (ja) * 1991-04-12 1992-11-06 Toshiba Corp バス接続装置
JPH064463A (ja) * 1992-06-22 1994-01-14 Sony Corp バスの制御装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5132898A (en) * 1987-09-30 1992-07-21 Mitsubishi Denki Kabushiki Kaisha System for processing data having different formats
US5261077A (en) * 1990-06-29 1993-11-09 Digital Equipment Corporation Configurable data path arrangement for resolving data type incompatibility
US5388227A (en) * 1990-08-14 1995-02-07 Nexgen Microsystems Transparent data bus sizing
US5191581A (en) * 1990-12-07 1993-03-02 Digital Equipment Corporation Method and apparatus for providing high performance interconnection between interface circuits coupled to information buses
US5446847A (en) * 1991-10-04 1995-08-29 Bull Hn Information Systems Inc. Programmable system bus priority network
US5446482A (en) * 1991-11-13 1995-08-29 Texas Instruments Incorporated Flexible graphics interface device switch selectable big and little endian modes, systems and methods
US5423010A (en) * 1992-01-24 1995-06-06 C-Cube Microsystems Structure and method for packing and unpacking a stream of N-bit data to and from a stream of N-bit data words
US5313231A (en) * 1992-03-24 1994-05-17 Texas Instruments Incorporated Color palette device having big/little endian interfacing, systems and methods
EP0629303A1 (en) * 1992-12-21 1994-12-21 Olivetti Advanced Technology Center, Inc. Apparatus, system and method for facilitating communication between components having different byte orderings
US5446651A (en) * 1993-11-30 1995-08-29 Texas Instruments Incorporated Split multiply operation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63211019A (ja) * 1987-02-27 1988-09-01 Hitachi Ltd 直接メモリアクセス制御装置
JPH01231159A (ja) * 1987-12-15 1989-09-14 Advanced Micro Devicds Inc データを転送するための方法およびそのための直接メモリアクセス手段
JPH04315244A (ja) * 1991-04-12 1992-11-06 Toshiba Corp バス接続装置
JPH064463A (ja) * 1992-06-22 1994-01-14 Sony Corp バスの制御装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520956A (ja) * 2003-03-12 2006-09-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データを転送するためのデータ処理の装置および方法
JP4892683B2 (ja) * 2003-03-12 2012-03-07 エスティー‐エリクソン、ソシエテ、アノニム データを転送するためのデータ処理の装置および方法
JP2008033722A (ja) * 2006-07-31 2008-02-14 Matsushita Electric Ind Co Ltd エンディアン変換回路を備えたデータ転送制御装置
JP2014179107A (ja) * 2008-09-12 2014-09-25 Renesas Electronics Corp 半導体集積回路装置
JP2013517576A (ja) * 2010-01-15 2013-05-16 クアルコム,インコーポレイテッド データ選択とデータ整列またはデータ複製とを組み合わせることを含む多段階の多重化操作

Also Published As

Publication number Publication date
US5627975A (en) 1997-05-06
KR100381076B1 (ko) 2003-07-04
EP0695998A2 (en) 1996-02-07
EP0695998A3 (en) 1997-07-09
KR960009411A (ko) 1996-03-22

Similar Documents

Publication Publication Date Title
JPH0863425A (ja) インタバス・バッファ
US5455915A (en) Computer system with bridge circuitry having input/output multiplexers and third direct unidirectional path for data transfer between buses operating at different rates
US7099983B2 (en) Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process
US7441064B2 (en) Flexible width data protocol
US6047120A (en) Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
US7526626B2 (en) Memory controller configurable to allow bandwidth/latency tradeoff
US6324609B1 (en) Method and apparatus providing an improved PCI bus system
US4968977A (en) Modular crossbar interconnection metwork for data transactions between system units in a multi-processor system
US4985830A (en) Interprocessor bus switching system for simultaneous communication in plural bus parallel processing system
JP3187539B2 (ja) データ転送装置
US5752076A (en) Dynamic programming of bus master channels by intelligent peripheral devices using communication packets
US6715055B1 (en) Apparatus and method for allocating buffer space
US5313587A (en) Device for simultaneous data input/output and execution support in digital processors
JPS5998262A (ja) メモリ・アクセス方法及び双方向デ−タ・バイト整列装置
US7640315B1 (en) Implementing locks in a distributed processing system
JP2004185639A (ja) マルチ幅のメモリ・サブシステムをサポートするための方法
US5845145A (en) System for generating and sending a critical-world-first data response packet by creating response packet having data ordered in the order best matching the desired order
JPS61199155A (ja) デ−タ処理装置
US6766386B2 (en) Method and interface for improved efficiency in performing bus-to-bus read data transfers
US5634013A (en) Bus bridge address translator
CN116483259A (zh) 一种数据处理方法以及相关装置
US6463483B1 (en) Low latency input-output interface
US5371863A (en) High speed processor bus extension
US5933648A (en) Configurable arbitration device for controlling the access of components to an arbiter or the like based on a control input
JP2007148622A (ja) インターフェース設定方法

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040507

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040810

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050308