JP4134371B2 - 入出力バスブリッジ装置 - Google Patents
入出力バスブリッジ装置 Download PDFInfo
- Publication number
- JP4134371B2 JP4134371B2 JP06580198A JP6580198A JP4134371B2 JP 4134371 B2 JP4134371 B2 JP 4134371B2 JP 06580198 A JP06580198 A JP 06580198A JP 6580198 A JP6580198 A JP 6580198A JP 4134371 B2 JP4134371 B2 JP 4134371B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- register
- output bus
- register group
- 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
Images
Landscapes
- Bus Control (AREA)
Description
【発明の属する技術分野】
この発明はデータ処理/伝達装置バスデータのエンディアン変換をする入出力バスブリッジ装置に関する。
【0002】
【従来の技術】
たとえば一般に示す従来の入出力バスブリッジ装置10Cは図7のように、レジスタ11aは、互いに異なるビッグエンディアン・データバスAとリトルエンディアン・データバスBを分割し表現するバイトレーン1〜4と5〜8の各バイト単位データを保持・駆動する。制御回路12Cは、転送データ情報(幅/方向)を指定する別途入力をする制御信号に従いセレクタ13の動作を決定する出力制御信号を生成する。セレクタ13は、制御回路12Cによる制御信号に従い、レジスタ11経由バイトレーン1〜4のデータに対し選択・分配をする。セレクタ13aは、制御回路12Cによる出力制御信号に従い、セレクタ13による各出力に対し選択・分配をし、レジスタ11経由バイトレーン5〜8のデータとして出力する。
【0003】
上記従来の入出力バスブリッジ装置は、互いに異なるエンディアン・データの入出力バス間で対象データ幅に従いセレクタによるバイトレーン切替えをしエンディアン変換をする方式を採る。
【0004】
上記図7に示す実施形態は図8のように、入出力バスブリッジ装置10Cに接続する互いに異なるビッグエンディアン・データバスAとリトルエンディアン・データバスBに対し図9(a)に示す互いに異なるエンディアンデータをもつデバイスAとBを接続し、図9(b)に示す4つのバイトレーンBL1とBL2とBL3とBL4に対しデータバスAとBの1〜4と5〜8にそれぞれ対応するものとし、図9(c)と(d)に示すデバイスAとBのメモリイメージで32ビットデータOxFEDCBA98/16ビットデータOxABCD/16ビットデータOx1234/文字列データxyzNULLに対しそれぞれアドレスOx000/Ox004/Ox006/Ox008に設定するものとすると、データバスAとB間におけるアドレスOx000の32ビットデータOxFEDCBA98転送時(図8(a))は、32ビット転送データ幅を指定する入力制御信号に対し生成する制御回路12Cによる出力制御信号に従い、データバスAのバイトレーンBL1とBL2とBL3とBL4からデータバスBのバイトレーンBL4とBL3とBL2とBL1にそれぞれデータOxFEとOxDCとOxBAとOx98を出力するように、各セレクタ13間で転送する。アドレスOx004とOx006の16ビットデータOxABCDとOx1234転送時(図8(b))は、上記図8(a)と同じに制御回路12Cによる出力制御信号に従い、データバスAのバイトレーンBL1とBL2とBL3とBL4からデータバスBのバイトレーンBL2とBL1とBL4とBL3にそれぞれデータOxABとOxCDとOx12とOx34を出力するように、各セレクタ13間で転送する。アドレスOx008の8ビットデータxyzNULL転送時(図8(c))は、上記図8(a)と同じに制御回路12Cによる出力制御信号に従い、データバスAのバイトレーンBL1とBL2とBL3とBL4からデータバスBのバイトレーンBL1とBL2とBL3とBL4にそれぞれ文字列データxとyとzとNULLを出力するように、各セレクタ間13間で転送する。
【0005】
【発明が解決しようとする課題】
上記のような従来の入出力バスブリッジ装置では、互いに異なるエンディアン・データの入出力バス間で対象データ幅に従いセレクタによるバイトレーン切替えをしエンディアン変換をする方式を採るから、バイト単位データを保持するレジスタとセレクタ間の配線量が多くなり、また回路の複雑さ増大に伴う入出力信号を保持するフリップフロップ間の遅延時間が大きくなり、回路全体の動作を高速化できない問題点があった。
【0006】
この発明が解決しようとする課題は、入出力バスブリッジ装置で上記問題点を解消するように、互いに異なるエンディアン・データの入出力バス間で対象データ幅に従い互いに隣合うバイトレーンを保持するレジスタによるデータシフト操作をしエンディアン変換をする方式(単純化エンディアン変換機能による入出力バスブリッジ方式)を提供することにある。
【0007】
【課題を解決するための手段】
この発明の入出力バスブリッジ装置は、入出力バス幅構成のレジスタ群で互いに異なるエンディアンの入出力バス間転送データに対し保持をするとともに、別途入力する転送データ情報によりレジスタ群の動作を決定し生成する制御回路による制御信号に従い駆動・転送をするもので、上記課題を解決するためつぎの手段を設け、単純化エンディアン変換機能による入出力バスブリッジ方式を採ることを特徴とする。
【0008】
制御回路は、互いに異なるエンディアンの入出力バス間転送データに対し、当該データ幅に従いエンディアン変換を施すようにレジスタ群のデータシフト動作を決定する。または互いに異なるエンディアンかつデータ幅の入出力バス間転送データに対し、エンディアン変換を施すようにレジスタ群のデータシフト動作を決定する。または入出力バス幅よりも大きい転送データに対し、エンディアン変換を施すように別途設ける入出力バス幅よりも多い構成のレジスタ群のデータシフト動作を決定する。
【0009】
バスマスタ機能をもつ手段は、別途設け、互いに異なるエンディアンまたは互いに異なるエンディアンかつデータ幅のメモリバスと入出力バス間でダイレクトメモリ転送をする。
【0010】
【発明の実施の形態】
この発明の実施の一形態を示す入出力バスブリッジ装置10は図1のように、制御回路12で対象データのバス幅を指定することにより、バイト単位の転送データを保持するレジスタ11相互間のデータシフト操作で動的にエンディアン変換(バイトの並び順変換)をするとともに、入出力間でデータバス幅が異なるときでも速度変換をするように構成する。レジスタ11は、一般的なレジスタとセレクタでも構成できるが、2入力2出力構成とするのが望ましい。互いに異なるビッグエンディアン・データバスAとリトルエンディアン・データバスBを分割し表現するバイトレーン1〜4と5〜8における各バイト単位データに対し、保持をするとともに、制御回路12による出力制御信号に従い、互いに隣合うバイトレーン1〜8を保持する当該相互間でシフト操作によるエンディアン変換を施すようにし、駆動・転送をする。制御回路12は、転送データ情報(幅/方向)を指定する別途入力する制御信号(読出し/書込みストローブ信号、下位ビットアドレス信号、ソフトウェア設定によるデータ幅を示すレジスタ出力信号等)により、レジスタ11の動作を決定する出力制御信号を生成する。従来のセレクタによるバイトレーン切替えではなく、互いに隣合うバイトレーン間シフト操作によるデータエンディアン変換をすることにより、配線量軽減と回路規模抑制をし集積化でき、動作可能周波数拡張をし回路全体の動作を高速化できる。
【0011】
上記実施の形態の入出力バスブリッジ装置は、互いに異なるエンディアン・データの入出力バス間で対象データ幅に従い互いに隣合うバイトレーンを保持するレジスタによるデータシフト操作をしエンディアン変換をする方式(単純化エンディアン変換機能による入出力バスブリッジ方式)を採る。
【0012】
上記図1に示す実施形態は図2のように、データバスAからBへの32ビットデータOxFEDCBA98転送時は、32ビット転送データ幅を指定する入力制御信号に対し生成する制御回路12による出力制御信号に従い、各バイトレーン1〜4対応レジスタ11の各設定データOxFEとOxDCとOxBAとOx98に対し、データの流れ101に沿って4回のシフト操作によるエンディアン変換を施し、最終的に各バイトレーン5〜6対応レジスタ11の各設定データOx98とOxBAとOxDCとOxFEとして転送する。各バイトレーン4〜1と5〜8対応レジスタ11の各データは、別途入力クロック信号Aに対しデータの流れ101に沿ってB→C→D→E→F→G→H→Iの時系列動作をする。図3のように、データバスAからBへの16ビットデータOxABCD/Ox1234転送時は、上記図2と同じに制御回路12による制御信号に従い、各バイトレーン1〜4対応レジスタ11の各設定データOxABとOxCD/Ox12とOx34に対し、データの流れ102に沿って2系統2回のシフト操作によるエンディアン変換を施し、最終的に各バイトレーン5〜6対応レジスタ11の各設定データOxCDとOxABとOx34とOx12として転送する。各バイトレーン4/3と7/8対応レジスタ11の各データおよび各バイトレーン2/1と5/6対応レジスタ11の各データは、別途入力クロック信号Aに対しデータの流れ102に沿ってB′→C′→D′→E′およびF′→G′→H′→I′の時系列動作をする。図4のように、データバスAからBへの8ビット文字列データxyzNULL転送時は、上記図2と同じに制御回路12による制御信号に従い、各バイトレーン1〜4対応レジスタ11の各設定文字データxとyとzとNULLに対し、データの流れ103に沿ってデータバスAとBの同一バイトレーン対応レジスタ11間のシフト操作によるエンディアン変換を施し、最終的に各バイトレーン5〜8対応レジスタ11の各設定文字データxとyとzとNULLとして転送する。各バイトレーン4〜1と8〜5対応レジスタ11の各データは、別途入力クロック信号Aに対しデータの流れ103に沿ってB″→C″とD″→E″とF″→G″とH″→I″の時系列動作をする。
【0013】
なお上記図1に示す発明の実施の形態で図5のように、たとえばバイトレーン7と8対応レジスタ11を削除してもよい。互いに異なるデータバス幅のたとえば32ビットビッグエンディアン・データバスAと16ビットリトルエンディアン・データバスB間データ転送時に、上記と同じに互いに異なるバス幅の入出力データに対しエンディアン変換ができる。
上記図5に示す実施形態は、16ビットデータ転送時でバイトレーン1と2または3と4に有効データが存在するときは、制御回路12aによる出力制御信号(下位2ビットアドレス信号とデータ幅16ビットを示す信号)に従い、バイトレーン1と2または3と4対応レジスタ11の設定データに対し、バイトレーン2→1→5→6または4→3→2→1→5→6対応レジスタ11の順にシフト操作によるエンディアン変換を施し転送する。8ビットデータ転送時は、制御回路12aによる出力制御信号(下位2ビットアドレス信号)に従い有効な各バイトレーン1〜6対応レジスタ11のシフト操作によるエンディアン変換を施し転送する。
【0014】
また上記図1に示す発明の実施の形態で図6(a)のように、バイトレーン1〜8対応レジスタ11に対しデータバス幅よりも多い構成たとえば4個のレジスタ11を追加してもよい。データバスAからBへの64ビット(データバス幅よりも2倍大きい)データ転送時に、上記と同じにバス幅よりも大きい入出力データに対しエンディアン変換ができる。
上記図6(a)に示す実施形態は、64ビットデータ転送時は、制御回路12bによる出力制御信号に従い、まずバイトレーン1〜4対応レジスタ11に保持する1回目の32ビットデータ(01,02,03,04)に対しシフト操作によるエンディアン変換を施し、保持データ(04,03,02,01)としてバイトレーン5〜8対応レジスタ11に移動する。つぎに上記と同じに2回目の32ビットデータ(05,06,07,08)に対しエンディアン変換を施し保持データ(08,07,06,05)としてバイトレーン5〜8対応レジスタ11に移動すると同時に、1回目の保持データ(04,03,02,01)を4個の追加レジスタ11に移動する。さらにエンディアン変換された64ビットデータ(08,07,06,05,04,03,02,01)に対し、バイトレーン5〜8対応レジスタ11の保持データ(08,07,06,05)出力に続き、4個の追加レジスタ11の保持データ(04,03,02,01)をバイトレーン5〜8対応レジスタ11に移動後出力をする。たとえば図6(b)のように、64ビットデータOx0102030405060708の転送時、バスAでは1回目と2回目で32ビットデータOx01020304とOx05060708を転送し、バスBでは1回目と2回目で32ビットデータOx05060708とOx01020304を出力する。
【0015】
また上記図1または図5に示す発明の実施の形態で別途設けるDMA(direct memory access)コントローラと組合せてバスマスタ機能を付加し、制御回路12または12aの入力制御信号として予めソフトウェア設定をするDMAコントローラ等によるレジスタ等デバイス出力信号を用いてもよい。互いに異なるエンディアンまたは互いに異なるエンディアンかつデータ幅のメモリバスと入出力バス間でダイレクトメモリ転送ができる。
【0016】
また上記図1に示す発明の実施の形態で別途設ける8ビットまたは16ビットデータインタフェースデバイスをバイトレーン5〜8のいずれかのバスBに接続することにより、バスAにおけるバイトレーン1〜4の4つの1バイトデータを順次シフト操作でまたは2つのバイトデータを2回ずつのシフト操作で、バスBのたとえば接続バイトレーン5または接続バイトレーン5と6に1バイトずつまたは2バイトずつ出力してもよい。バスAに接続する32ビットデータインタフェースデバイスとバスBに接続する8ビットまたは16ビットデータインタフェースデバイス間のDMA転送時に有効である。
【0017】
【発明の効果】
上記のようなこの発明の入出力バスブリッジ装置では、互いに異なるエンディアン・データの入出力バス間で対象データ幅に従い互いに隣合うバイトレーンを保持するレジスタによるデータシフト操作をしエンディアン変換をする方式を採るから、従来のように対象データ幅に従いセレクタによるバイトレーン切替えをする方式に比べ、配線量軽減と回路規模抑制による集積化ができ、動作可能周波数拡張による回路全体動作の高速化ができるほか発明ごとにつぎの効果がある。
(1)互いに異なるバス幅の入出力データに対しエンディアン変換ができる。
(2)バス幅よりも大きい入出力データに対しエンディアン変換ができる。
(3)互いに異なるエンディアンまたは互いに異なるエンディアンかつデータ幅のメモリバスと入出力バス間でダイレクトメモリ転送ができる。
【図面の簡単な説明】
【図1】 この発明の実施の一形態を示す入出力バスブリッジ装置の構成ブロック図。
【図2】 図1に示す入出力バスブリッジ装置の32ビットデータ転送時動作を説明する系統図とタイミング図。
【図3】 図1に示す入出力バスブリッジ装置の16ビットデータ転送時動作を説明する系統図とタイミング図。
【図4】 図1に示す入出力バスブリッジ装置の8ビットデータ転送時動作を説明する系統図とタイミング図。
【図5】 この発明の実施の他の一形態を示す構成ブロック図。
【図6】 この発明の実施の他の一形態を示す構成ブロック図とメモリイメージ図。
【図7】 従来の技術を示す入出力バスブリッジ装置の構成ブロック図。
【図8】 図7に示す入出力バスブリッジ装置の32/16/8ビットデータ転送時動作を説明する図。
【図9】 図8に示す入出力バスブリッジ装置の接続デバイスとバイトレーンとを説明する図および互いに異なるエンディアンデータの配置とバイトレーン関係を示すメモリイメージ図。
【符号の説明】
1〜4 データバスAのバイトレーン、5〜8 データバスBのバイトレーン、10、10a、10b 入出力バスブリッジ装置、11 レジスタ、12、12a、12b 制御回路。
なお図中、同一符号は同一または相当部分を示す。
Claims (4)
- 複数のバイトレーンを有する第1の入出力バスと複数のバイトレーンを有し前記第1の入出力バスとは異なるエンディアンの第2の入出力バスとの間の転送データに対し、前記第1の入出力バスのバイトレーン対応に設けたレジスタを有する第1のレジスタ群と、前記第2の入出力バスのバイトレーン対応に設けたレジスタを有する第2のレジスタ群と、別途入力する転送データ情報により前記第1のレジスタ群及び前記第2のレジスタ群の動作を制御する制御信号を生成する制御回路とを備え、
前記第1のレジスタ群のレジスタ及び前記第2のレジスタ群のレジスタはそれぞれ直列に接続されているとともに、前記第1のレジスタ群のレジスタは前記第2のレジスタ群のレジスタと1対1対応で接続され、
前記転送データ情報には前記転送データのデータ幅と前記転送データの転送方向が含まれ、前記制御回路が前記転送データ情報に基づいて前記第1または前記第2のレジスタ群のレジスタが保持するデータを該レジスタに対応するバイトレーンに隣接するバイトレーンに対応した同一レジスタ群のレジスタまたは前記データを保持するレジスタに接続された他方のレジスタ群のレジスタへバイトレーン間シフトするデータシフト動作を決定することにより、前記第1の入出力バスと前記第2の入出力バス間で前記転送データのエンディアン変換を行うことを特徴とする入出力バスブリッジ装置。 - 第1の入出力バスのデータバス幅と第2の入出力バスのデータバス幅とが異なることを特徴とする請求項1記載の入出力バスブリッジ装置。
- 複数のバイトレーンを有する第1の入出力バスと複数のバイトレーンを有し前記第1の入出力バスとは異なるエンディアンの第2の入出力バスとの間の転送データに対し、前記第1の入出力バスのバイトレーン対応に設けたレジスタを有する第1のレジスタ群と、前記第2の入出力バスのバイトレーン数よりも多い構成であるバイトレーン対応に設けたレジスタを有する第2のレジスタ群と、別途入力する転送データ情報により前記第1のレジスタ群及び前記第2のレジスタ群の動作を制御する制御信号を生成する制御回路とを備え、
前記第1のレジスタ群のレジスタ及び前記第2のレジスタ群のレジスタはそれぞれ直列に接続されているとともに、前記第1のレジスタ群のレジスタは前記第2のレジスタ群のレジスタと1対1対応で接続され、
前記転送データのデータ幅は前記第 2 の入出力バスのデータバス幅よりも大きく、
前記転送データ情報には前記転送データのデータ幅と前記転送データの転送方向が含まれ、前記制御回路が前記転送データ情報に基づいて前記第1または前記第2のレジスタ群のレジスタが保持するデータを該レジスタに対応するバイトレーンに隣接するバイトレーンに対応した同一レジスタ群のレジスタまたは前記データを保持するレジスタに接続された他方のレジスタ群のレジスタへバイトレーン間シフトするデータシフト動作を決定することにより、前記第1の入出力バスと前記第2の入出力バス間で前記転送データのエンディアン変換を行うことを特徴とする入出力バスブリッジ装置。 - ダイレクトメモリ転送機能を有するバスマスタ手段を別途設け、前記バスマスタ手段の出力信号を転送データ情報として用いることにより、メモリバスと入出力バス間で転送データのエンディアン変換を行うことを特徴とする請求項1または2記載の入出力バスブリッジ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06580198A JP4134371B2 (ja) | 1998-03-16 | 1998-03-16 | 入出力バスブリッジ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06580198A JP4134371B2 (ja) | 1998-03-16 | 1998-03-16 | 入出力バスブリッジ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11265341A JPH11265341A (ja) | 1999-09-28 |
JP4134371B2 true JP4134371B2 (ja) | 2008-08-20 |
Family
ID=13297505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06580198A Expired - Fee Related JP4134371B2 (ja) | 1998-03-16 | 1998-03-16 | 入出力バスブリッジ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4134371B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4514173B2 (ja) * | 2000-10-13 | 2010-07-28 | キヤノン株式会社 | データ処理方法および画像処理装置 |
JP4890681B2 (ja) * | 2001-03-08 | 2012-03-07 | キヤノン株式会社 | 画像処理装置 |
-
1998
- 1998-03-16 JP JP06580198A patent/JP4134371B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11265341A (ja) | 1999-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6047120A (en) | Dual mode bus bridge for interfacing a host bus and a personal computer interface bus | |
JPH1078934A (ja) | パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム | |
JPH01150940A (ja) | Crc演算方式 | |
JP2552784B2 (ja) | 並列データ処理制御方式 | |
JP4134371B2 (ja) | 入出力バスブリッジ装置 | |
JP2008198218A (ja) | コンピュータシステム及びデータ転送方法 | |
JP3287283B2 (ja) | Pciバスの割り込みステアリング回路 | |
KR100622800B1 (ko) | 버스를 통한 데이터 전송을 제어하는 방법, 시스템 및 컴퓨터 시스템 | |
JP2005235216A (ja) | ダイレクト・メモリ・アクセス制御 | |
RU2126989C1 (ru) | Микропроцессор | |
KR100606698B1 (ko) | 인터페이스 장치 | |
JP2553630B2 (ja) | データ処理装置 | |
JP4024502B2 (ja) | 情報処理装置の制御方法 | |
JPH06332851A (ja) | データ転送方式 | |
JP2829043B2 (ja) | 転送ワード数決定方法及びその回路 | |
JP2954019B2 (ja) | 論理シミュレーション方式 | |
JPH05128279A (ja) | ワンチツプマイクロコンピユータ | |
JPS61120262A (ja) | メモリ間インテリジエントdma制御装置 | |
JPH06149724A (ja) | Dma転送装置 | |
JPH07117935B2 (ja) | 割込み検出方式 | |
JPS61292766A (ja) | デ−タ入力方式 | |
JPH05127844A (ja) | 情報処理装置 | |
KR19980020208A (ko) | 컴퓨터 주변기기의 데이타 전송장치 | |
JPH11338818A (ja) | データ転送方法及び装置 | |
JPS63299519A (ja) | 圧縮伸長処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20010301 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040621 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050302 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050302 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070717 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080407 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080507 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080520 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |