JPH08202646A - I/oコントローラ - Google Patents

I/oコントローラ

Info

Publication number
JPH08202646A
JPH08202646A JP937495A JP937495A JPH08202646A JP H08202646 A JPH08202646 A JP H08202646A JP 937495 A JP937495 A JP 937495A JP 937495 A JP937495 A JP 937495A JP H08202646 A JPH08202646 A JP H08202646A
Authority
JP
Japan
Prior art keywords
endian
data
address
bus
controller
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
JP937495A
Other languages
English (en)
Inventor
Satoshi Nishikawa
聡 西川
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 JP937495A priority Critical patent/JPH08202646A/ja
Publication of JPH08202646A publication Critical patent/JPH08202646A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 エンディアン方式の異なるI/O装置を同一
システム上に容易に接続可能とし、I/O装置毎のエン
ディアン方式を考慮することなしにソフトウェア設計を
可能とする。 【構成】 I/Oコントローラ1の比較器12はアドレ
スラッチ回路10にラッチされたI/Oアドレスを基に
エンディアン変換テーブル13のアドレスフィールドを
参照し、ヒットするI/Oアドレスを検索する。エンデ
ィアン変換テーブル13は検索されたI/Oアドレスに
対応するエントリのエンディアン属性をエンディアン変
換器14に送る。エンディアン変換器14はエンディア
ン変換テーブル13からのエンディアン属性に応じて、
データラッチ回路11にラッチされたデータに対してエ
ンディアン変換を行う。I/O装置2,3にはデータワ
ップまたデータスルーされたデータがI/Oバス110
を介して入力される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はI/Oコントローラに関
し、特にメインプロセッサとI/O(入出力)装置との
間のデータ変換を行うI/Oコントローラのエンディア
ン変換方式に関する。
【0002】
【従来の技術】従来、I/Oコントローラにおいては、
メインプロセッサが接続された上位バスと、複数のI/
O(入出力)装置が接続されたI/Oバスとを接続し、
メインプロセッサと複数のI/O装置との間のデータ変
換を行っている。
【0003】この場合、I/Oバスに接続された複数の
I/O装置のエンディアン方式が異なっていれば、つま
りワードサイズのデータの上位バイト及び下位バイトの
並べ方を示すエンディアンが異なるI/O装置が同一シ
ステム上に混在していれば、そのエンディアンの違いを
吸収するためにI/O装置各々へのアドレス信号線を反
転させて接続したり、特定のI/O装置へのデータのみ
をスワップさせたりしている。
【0004】ここで、エンディアン方式としてはワード
サイズのデータをメモリに書込む際に上位バイトをアド
レスの若い方に書込み、下位バイトをアドレスの高い方
に書込むビッグエンディアン方式と、ワードサイズのデ
ータをメモリに書込む際に下位バイトをアドレスの若い
方に書込み、上位バイトをアドレスの高い方に書込むリ
トルエンディアン方式とがある。このエンディアン方式
については、特開平3−160550号公報に詳述され
ている。
【0005】上記のエンディアン方式が異なるシステム
とは、例えばビッグエンディアン方式のI/O装置とリ
トルエンディアン方式のI/O装置とが同一システム上
に混在しているシステムを指している。
【0006】また、ソフトウェア設計を行う場合には、
I/O装置が本来持つ固有なアドレスではなく、I/O
装置毎にアクセスするアドレスをエンディアン変換して
からアクセスを行わなければならないという問題ととも
に、さらにアクセス長の制限等の問題が生じている。
【0007】
【発明が解決しようとする課題】上述したように、ビッ
グエンディアン方式のI/O装置とリトルエンディアン
方式のI/O装置とが同一システム上に混在しているシ
ステムを設計する場合にはエンディアンの違いから同一
バスに接続されるI/O装置であるにもかかわらず、I
/O装置毎にアドレス信号線の接続やデータバスの制御
等を行わなければならない。
【0008】また、上記のようなシステムで動作するソ
フトウェアではI/O装置へのアクセスのアドレスをエ
ンディアン変換したアドレスでアクセスする等の制御が
必要となる。
【0009】そこで、本発明の目的は上記の問題点を解
消し、エンディアン方式の異なるI/O装置を同一シス
テム上に容易に接続することができ、I/O装置毎のエ
ンディアン方式を考慮することなくソフトウェア設計を
行うことができるI/Oコントローラを提供することに
ある。
【0010】
【課題を解決するための手段】本発明によるI/Oコン
トローラは、中央処理装置が接続された上位バスと、ビ
ックエンディアン方式の入出力装置及びリトルエンディ
アン方式の入出力装置が接続された入出力バスとを接続
するI/Oコントローラであって、前記入出力装置各々
を特定するアドレス情報に対応付けて前記入出力装置各
々のエンディアン方式に応じて設定されかつデータのビ
ット単位の入替えを行うか否かを示すエンディアン属性
を格納する格納手段と、前記上位バス上のアドレス情報
を基に前記格納手段の前記エンディアン属性を参照する
参照手段と、前記参照手段の参照結果を基に前記上位バ
ス上のデータのビット単位の入替えを行う入替え手段と
を備えている。
【0011】本発明による他のI/Oコントローラは、
上記の構成のほかに、前記上位バス上のアドレス情報を
保持するアドレス情報保持手段と、前記上位バス上のデ
ータを保持するデータ保持手段とを具備している。
【0012】
【作用】ビッグエンディアン方式のI/O装置とリトル
エンディアン方式のI/O装置とが混在するシステムに
おいて、プロセッサとI/O装置との間でデータ授受を
行う場合、プロセッサからI/O装置へのI/Oアドレ
ス及びデータはI/Oコントローラでラッチされる。
【0013】このラッチされたI/Oアドレスは比較器
によってI/Oコントローラ内のエンディアン変換テー
ブルのアドレスフィールドと比較され、一致するI/O
アドレスの検索が行われる。この場合、エンディアン変
換テーブルの内容はシステムに実装されているI/O装
置に適合するようシステムセットアップ時に設定されて
いる。
【0014】エンディアン変換器は比較器でヒットした
エンディアン変換テーブルのエントリのエンディアン属
性のビットがセットされていなければラッチされたデー
タのスワップを行い、エンディアン属性のビットがセッ
トされていればラッチされたデータをスルーしてI/O
バスに出力する。
【0015】これによって、エンディアンを意識するこ
となくI/O装置をアクセスすることが可能となる。よ
って、エンディアン方式の異なるI/O装置を同一シス
テム上に容易に接続することが可能となり、I/O装置
毎のエンディアン方式を考慮することなくソフトウェア
設計が可能となる。
【0016】
【実施例】次に、本発明の一実施例について図面を参照
して説明する。
【0017】図1は本発明の一実施例の構成を示すブロ
ック図であり、図2は本発明の一実施例のシステム構成
を示すブロック図である。これらの図において、I/O
コントローラ1はメインプロセッサ4が接続された上位
バス100と、リトルエンディアン方式のI/O装置2
及びビッグエンディアン方式のI/O装置3が夫々接続
されたI/Oバス110とを接続している。
【0018】また、I/Oコントローラ1はアドレスラ
ッチ回路10と、データラッチ回路11と、比較器12
と、エンディアン変換テーブル13と、エンディアン変
換器14とから構成されている。
【0019】アドレスラッチ回路10は上位バス100
に接続されたメインプロセッサ4からのI/Oアドレス
をラッチし、データラッチ回路11はメインプロセッサ
4からのデータをラッチする。
【0020】比較器12はアドレスラッチ回路10にラ
ッチされたI/Oアドレスを基にエンディアン変換テー
ブル13のアドレスフィールドを参照し、ヒットするI
/Oアドレスを検索する。
【0021】つまり、比較器12はアドレスラッチ回路
10にラッチされたI/Oアドレスとエンディアン変換
テーブル13のアドレスフィールドとを順次比較してい
く。この比較で一致するI/Oアドレスがあれば、その
I/Oアドレスに対応するエンディアン変換テーブル1
3のエントリのエンディアン属性がエンディアン変換器
14に送られる。
【0022】エンディアン変換テーブル13はI/Oバ
ス110に接続されたI/O装置2,3各々のI/Oア
ドレスと、I/O装置2,3各々のエンディアン方式に
したがって設定されたエンディアン属性、すなわちエン
ディアン変換を行うか否かを示す情報をI/Oアドレス
に対応付けて格納する。尚、エンディアン変換テーブル
13の内容はシステムに実装されているI/O装置2,
3に適合するようシステムセットアップ時に設定されて
いる。
【0023】エンディアン変換器14は比較器12の比
較結果に応じてエンディアン変換テーブル13から送ら
れてくるエンディアン属性に応じて、データラッチ回路
11にラッチされたデータ対してエンディアン変換、つ
まりデータスワップあるいはデータスルーの制御を行
う。
【0024】I/O装置2,3にはI/Oコントローラ
1のエンディアン変換器14でエンディアン変換された
データ、つまりデータスワップあるいはデータスルーさ
れたデータがI/Oバス110を介して出力される。
【0025】図3は図1のエンディアン変換テーブル1
3の構成を示す図である。図において、エンディアン変
換テーブル13はI/Oアドレスのアドレスフィールド
13aと、エンディアン属性のフィールド13bとを1
組とするエントリをnエントリ有している。エンディア
ン変換テーブル13の内容はシステムに実装されている
I/O装置2,3に適合するようI/Oアドレス及びエ
ンディアン属性がシステムセットアップ動作時に設定さ
れている。
【0026】図4は図1のエンディアン変換器14によ
るエンディアン変換を示す図である。図において、aは
メインプロセッサ4から上位バス100に出力されたデ
ータであり、bはエンディアン変換器14でエンディア
ン変換されてI/Oバス110に出力されたデータであ
る。
【0027】この場合、「ABCD」の順に並んだデー
タaがエンディアン変換器14でエンディアン変換さ
れ、「DCBA」の順に並べ替えられてデータbとなる
様子を示している。
【0028】エンディアン変換器14は比較器12とエ
ンディアン変換テーブル13とによってデータスワップ
制御が指示された場合、上記の如く、上位バス100か
らのデータaの位置をデータbの位置に入れ替えてI/
Oバス110へと伝達する。
【0029】本発明の一実施例では上位バス100にメ
インプロセッサ4からI/Oアドレス及びデータが出力
されると、それらI/Oアドレス及びデータはI/Oコ
ントローラ1のアドレスラッチ回路10及びデータラッ
チ回路11に夫々ラッチされる。
【0030】比較器12はアドレスラッチ回路10にラ
ッチされたI/Oアドレスとエンディアン変換テーブル
13のアドレスフィールド13aとを比較し、ラッチさ
れたI/Oアドレスにヒットするアドレスフィールド1
3aのI/Oアドレスを検索する。このとき、ラッチさ
れたI/Oアドレスにヒットするアドレスフィールド1
3aに対応するフィールド13bのエンディアン属性が
制御信号としてエンディアン変化器14に伝達される。
【0031】例えば、ラッチされたI/Oアドレスがビ
ッグエンディアン方式のI/O装置3のI/Oアドレス
で、そのI/Oアドレスに対応するフィールド13bの
エンディアン属性がセットされていれば、エンディアン
変化器14ではデータスルーの制御が行われ、データラ
ッチ回路11にラッチされたデータがそのままI/Oバ
ス110に出力され、I/O装置3に送出される。
【0032】一方、ラッチされたI/Oアドレスがリト
ルエンディアン方式のI/O装置2のI/Oアドレス
で、そのI/Oアドレスに対応するフィールド13bの
エンディアン属性がセットされていなければ、エンディ
アン変化器14ではデータスワップの制御が行われ、デ
ータラッチ回路11にラッチされたデータがエンディア
ン変換されてからI/Oバス110に出力され、I/O
装置2に送出される。
【0033】このように、I/O装置2,3各々を特定
するI/Oアドレスに対応付けてI/O装置2,3各々
のエンディアン方式に応じて設定されたエンディアン属
性をエンディアン変換テーブル13に格納しておき、上
位バス100上のI/OアドレスにヒットするI/Oエ
ンディアン変換テーブル13のエンディアン属性に応じ
て上位バス100上のデータをエンディアン変換器14
でエンディアン変換することによって、エンディアン方
式の異なるI/O装置2,3を同一システム上に容易に
接続することができ、I/O装置2,3毎のエンディア
ン方式を考慮することなくソフトウェア設計を行うこと
ができる。
【0034】
【発明の効果】以上説明したように本発明によれば、入
出力装置各々を特定するアドレス情報に対応付けて入出
力装置各々のエンディアン方式に応じて設定されかつデ
ータのビット単位の入替えを行うか否かを示すエンディ
アン属性を格納しておき、上位バス上のアドレス情報を
基に参照したエンディアン属性に応じて上位バス上のデ
ータのビット単位の入替えを行うことによって、エンデ
ィアン方式の異なるI/O装置を同一システム上に容易
に接続することができ、I/O装置毎のエンディアン方
式を考慮することなくソフトウェア設計を行うことがで
きるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】本発明の一実施例のシステム構成を示すブロッ
ク図である。
【図3】図1のエンディアン変換テーブルの構成を示す
図である。
【図4】図1のエンディアン変換器によるエンディアン
変換を示す図である。
【符号の説明】
1 I/Oコントローラ 2 リトルエンディアン方式のI/O装置 3 ビッグエンディアン方式のI/O装置 4 メインプロセッサ 10 アドレスラッチ回路 11 データラッチ回路 12 比較器 13 エンディアン変換テーブル 14 エンディアン変換器

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置が接続された上位バスと、
    ビックエンディアン方式の入出力装置及びリトルエンデ
    ィアン方式の入出力装置が接続された入出力バスとを接
    続するI/Oコントローラであって、前記入出力装置各
    々を特定するアドレス情報に対応付けて前記入出力装置
    各々のエンディアン方式に応じて設定されかつデータの
    ビット単位の入替えを行うか否かを示すエンディアン属
    性を格納する格納手段と、前記上位バス上のアドレス情
    報を基に前記格納手段の前記エンディアン属性を参照す
    る参照手段と、前記参照手段の参照結果を基に前記上位
    バス上のデータのビット単位の入替えを行う入替え手段
    とを有することを特徴とするI/Oコントローラ。
  2. 【請求項2】 前記上位バス上のアドレス情報を保持す
    るアドレス情報保持手段と、前記上位バス上のデータを
    保持するデータ保持手段とを含むことを特徴とする請求
    項1記載のI/Oコントローラ。
  3. 【請求項3】 前記入替え手段は、前記エンディアン属
    性が前記ビット単位の入替えを指示する時に前記上位バ
    ス上のデータのビット単位の入替えを行うよう構成され
    たことを特徴とする請求項1または請求項2記載のI/
    Oコントローラ。
JP937495A 1995-01-25 1995-01-25 I/oコントローラ Pending JPH08202646A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP937495A JPH08202646A (ja) 1995-01-25 1995-01-25 I/oコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP937495A JPH08202646A (ja) 1995-01-25 1995-01-25 I/oコントローラ

Publications (1)

Publication Number Publication Date
JPH08202646A true JPH08202646A (ja) 1996-08-09

Family

ID=11718692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP937495A Pending JPH08202646A (ja) 1995-01-25 1995-01-25 I/oコントローラ

Country Status (1)

Country Link
JP (1) JPH08202646A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445637B1 (ko) * 2002-07-03 2004-08-25 삼성전자주식회사 엔디안 정보를 제공하는 컴퓨터 시스템 및 그 컴퓨터시스템의 데이터 전송 방법
JP2011129132A (ja) * 2009-12-21 2011-06-30 Intel Corp エンディアン変換ツール
JP2017151599A (ja) * 2016-02-23 2017-08-31 アズビル株式会社 コントローラおよびその制御方法
WO2023047762A1 (ja) * 2021-09-21 2023-03-30 株式会社日立製作所 プロセッサおよびエンディアン変換方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63250757A (ja) * 1987-04-06 1988-10-18 Nec Ic Microcomput Syst Ltd 入出力インタフエ−ス装置
JPH03160550A (ja) * 1989-11-17 1991-07-10 Hitachi Ltd エンディアン変換方式
JPH0454551A (ja) * 1990-06-21 1992-02-21 Mitsubishi Electric Corp 入出力制御装置
JPH04143846A (ja) * 1990-10-04 1992-05-18 Fanuc Ltd インターフェイス変換回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63250757A (ja) * 1987-04-06 1988-10-18 Nec Ic Microcomput Syst Ltd 入出力インタフエ−ス装置
JPH03160550A (ja) * 1989-11-17 1991-07-10 Hitachi Ltd エンディアン変換方式
JPH0454551A (ja) * 1990-06-21 1992-02-21 Mitsubishi Electric Corp 入出力制御装置
JPH04143846A (ja) * 1990-10-04 1992-05-18 Fanuc Ltd インターフェイス変換回路

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445637B1 (ko) * 2002-07-03 2004-08-25 삼성전자주식회사 엔디안 정보를 제공하는 컴퓨터 시스템 및 그 컴퓨터시스템의 데이터 전송 방법
JP2011129132A (ja) * 2009-12-21 2011-06-30 Intel Corp エンディアン変換ツール
JP2017151599A (ja) * 2016-02-23 2017-08-31 アズビル株式会社 コントローラおよびその制御方法
WO2023047762A1 (ja) * 2021-09-21 2023-03-30 株式会社日立製作所 プロセッサおよびエンディアン変換方法
JP2023044909A (ja) * 2021-09-21 2023-04-03 株式会社日立製作所 プロセッサおよびエンディアン変換方法

Similar Documents

Publication Publication Date Title
EP0007003A1 (en) Data processing apparatus including address translation apparatus
JP2774862B2 (ja) Dma制御装置および情報処理装置
JPH05233452A (ja) 情報処理装置
US4513369A (en) Information processing system
JPS61199155A (ja) デ−タ処理装置
EP0212152A2 (en) Microprocessor assisted memory to memory move apparatus
JPH04308953A (ja) 仮想アドレス計算機装置
JPH08202646A (ja) I/oコントローラ
US6138188A (en) Buffer management device and method for improving buffer usage and access performance in data processing system
GB2221066A (en) Address translation for I/O controller
JP2010244165A (ja) 半導体集積回路、及び半導体集積回路の制御方法
JPS63245743A (ja) メモリアクセス方式
JPH01226056A (ja) アドレス変換回路
JPH04195234A (ja) データ転送方式
JPH04372039A (ja) Dma転送方式
JPH0546482A (ja) アドレス変換方式
JPS646492B2 (ja)
JPH05197620A (ja) アドレス空間拡張方式
JPH03269650A (ja) バッファ記憶装置
JPH04112251A (ja) マイクロコンピュータ
JPH04256056A (ja) コンピュータシステム
JPH03192444A (ja) アドレス変換回路
JPS62241048A (ja) 増設メモリのアドレツシング方式
JPS6312057A (ja) バス制御方式
JPS63206855A (ja) デ−タ転送装置