JPH04328664A - バスインターフェイス装置 - Google Patents

バスインターフェイス装置

Info

Publication number
JPH04328664A
JPH04328664A JP9866391A JP9866391A JPH04328664A JP H04328664 A JPH04328664 A JP H04328664A JP 9866391 A JP9866391 A JP 9866391A JP 9866391 A JP9866391 A JP 9866391A JP H04328664 A JPH04328664 A JP H04328664A
Authority
JP
Japan
Prior art keywords
data
processor
bit
bus
bus width
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
JP9866391A
Other languages
English (en)
Inventor
Yasuo Yamada
泰生 山田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9866391A priority Critical patent/JPH04328664A/ja
Publication of JPH04328664A publication Critical patent/JPH04328664A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】[発明の目的]
【0002】
【産業上の利用分野】この発明は、プロセッサとその外
部装置とを接続するバスインターフェイス装置に関し、
特に入出力ポートのバス幅が異なるプロセッサと外部装
置間におけるバスインターフェイス装置に関する。
【0003】
【従来の技術】ポートサイズ(以下、「バス幅」と呼ぶ
)が異なるプロセッサと記憶装置(メモリ)や周辺装置
とをバスインターフェイス装置(バスアダプタ)を介し
て接続する方法としては、以下の図7乃至図9に示すよ
うな方法がある。
【0004】図7に示すような方法は、入出力ポートが
8ビットのバス幅を有するプロセッサ1と4つのそれぞ
れの入出力ポートが8ビットのバス幅を有する周辺装置
2とが、図7(a) に示すようにバスアダプタ3を介
して接続される場合であり、周辺装置2の4つのそれぞ
れの入出力ポート(P0〜P3)は図7(b)のメモリ
マップに示すようにそれぞれ割付けされている。このよ
うな接続方法にあっては、バスアダプタ3はバス信号線
の電気的負荷の駆動能力を高めるためのものであり、特
別な機能を必要とすることはない。
【0005】次に、図8に示すような接続方法は、8ビ
ットのバス幅を有する上述したと同様の周辺装置2と1
6ビットのバス幅を有するプロセッサ4とが、図8(a
)に示すようにバスアダプタ5を介して接続される場合
であり、プロセッサの下位バイトが偶数アドレス、上位
バイトが奇数アドレスに対応しており、周辺装置2のそ
れぞれの入出力ポート(P0〜P3)は図8(b)のメ
モリマップに示すように偶数アドレスにのみ割付けられ
、奇数アドレスには対応する周辺装置が割付けられてい
ない。
【0006】このような接続方法にあって、プロセッサ
4が16ビットのデータをアクセスする場合、例えば周
辺装置2の入出力ポートP0とP1におけるそれぞれ8
ビット幅のデータをまとめて16ビット幅のデータとし
てアクセスする場合に、プロセッサ4は100番地を指
定して16ビットデータをアクセスする命令を実行する
と、100番地と101番地の16ビットのデータが対
象になってしまう。このため、100番地で指定される
入出力ポートP0の8ビットのデータと102番地で指
定される入出力ポートP1の8ビットのデータをまとめ
た16ビットのデータをアクセスすることができなくな
る。
【0007】そこで、16ビットのデータは8ビットデ
ータをアクセスする命令を2つ実行することによって2
つの8ビットデータに分けて別々にアクセスしなければ
ならない。このため、16ビットデータと8ビットデー
タ相互の分解や組立操作が必要となり、16ビットのレ
ジスタSIを用いた場合には、例えば以下に示すような
プログラムによって実行される。
【0008】分解例1…書き出す時に必要PUSH  
AX            ;作業レジスタを退避す
るMOV    AX,SI      ;作業レジス
タに移動するMOV    [100],AL;下位8
ビットデータを書き出す MOV    [102],AH;上位8ビットデータ
を書き出す POP    AX            ;作業レ
ジスタを回復する分解例2…書き出す時に必要 PUSH  CX            ;作業レジ
スタを退避するMOV    [100],SI;下位
8ビットデータを書き出す MOV    CX,8        ;シフト回数
の設定SHR    SL,CL      ;目的レ
ジスタを右に8ビットシフト MOV    [102],SI;上位8ビットデータ
を書き出す POP    CX            ;作業レ
ジスタを回復する組立例1…書き込む時に必要 PUSH  AX            ;作業レジ
スタを退避するMOV    AL,[100];下位
8ビットデータを読み込む MOV    AH,[102];上位8ビットデータ
を読み込む MOV    SI,AX      ;目的レジスタ
に移動するPOP    AX           
 ;作業レジスタを回復する組立例2…読み込む時に必
要 PUSH  CX            ;作業レジ
スタを退避するMOV    SI[102]  ;目
的レジスタに上位8ビットデータを読み込む MOV    CX,8        ;シフト回数
の設定SHL    SI,CL      ;目的レ
ジスタを左に8ビットシフト MOV    CL,[100];作業レジスタに下位
8ビットデータを読み込む OR      SI,CX      ;作業レジス
タを目的レジスタと合成する POP    CX            ;作業レ
ジスタを回復する上述したプログラムから明らかなよう
に、データの分解あるいは組立操作を実行する場合には
、多くのシフト操作や論理演算が必要となり、命令数が
増大し処理時間が長くなることになる。
【0009】これに対して、図9(a)に示すように、
バス幅変換機能を備えたバスアダプタ6を介して上述し
たと同様のプロセッサ4と周辺装置2を接続する方法が
ある。このバスアダプタ6におけるバス幅変換機能の技
術については、特開昭61−502565号に詳しく開
示されているが、この技術は以下に示す一種のハンドシ
ェイク方式によりデータ転送を行なうことを特徴として
いる。
【0010】(1) プロセッサがデータ転送の開始を
指示する際に、使用する予定のバス幅を周辺装置に報知
し、(2) 周辺装置がこれを受けて対応できるバス幅
を特定してプロセッサに応答し、(3) プロセッサは
これを受けて周辺装置が応答したバス幅でデータの転送
を開始実行する。
【0011】このようなバスアダプタ6を用いた場合の
メモリマップは図9(b)に示すようになり、プロセッ
サ4が転送したいデータのバス幅と周辺装置2が応答し
たバス幅が異なる場合には、バスアダプタ6はプロセッ
サ4側の1回のバスサイクルを、周辺装置2側では2回
のバスサイクルに分割してデータ転送を実行する。
【0012】具体的には、8ビット幅の入出力ポートを
2つ接続した論理的に16ビットでひとかたまりのデー
タをアクセスする場合に、論理的には1つの16ビット
データを、バスアダプタ6が8ビッドずつ2回に分けて
アクセスする。プロセッサ4が100番地を指定して1
6ビットデータをアクセスする命令を実行するが、この
時、周辺装置2は8ビット幅のバスを指定してバスアダ
プタ6に応答する。バスアダプタ6は、周辺装置2側の
バスB1とプロセッサ4側のバスB2,B3の接続を順
次切り替える。
【0013】まず、100番地を指定した8ビットデー
タのアクセスでは、アクセス対象が偶数アドレスである
から、下位バイトに対応する8ビットのデータバスB3
と周辺装置2側のデータバスB1とを接続し、データを
転送する。次に、101番地を指定した8ビットデータ
のアクセスでは、アクセス対象が奇数アドレスであるか
ら、上位バイトに対応する8ビットのデータバスB2と
周辺装置2側のデータバスB1とを接続し、データを転
送する。これにより、周辺装置2の入出力ポートP0と
P1にある16ビットデータを、プロセッサ4の1つの
命令でアクセスすることができる。
【0014】このようなバス変換機能を備えたバスアダ
プタ6において、上述した(1) 〜(3) に示すハ
ンドシェークの手順における(1) と(2) との間
の動作余裕すなわち動作時間が短縮されると、応答速度
の遅い周辺装置を接続することができなくなり、接続可
能な周辺装置が限定されてしまうことになる。このため
、(1) と(2)との間の動作時間を短くすることは
困難となる。
【0015】また、(2) と(3) で示す手順の間
の動作余裕すなわち動作時間を短縮しようとすると、バ
スアダプタ6内部での動作が困難となり、構成が大規模
で複雑化することになる。
【0016】
【発明が解決しようとする課題】以上説明したように、
入出力ポートのバス幅が異なるプロセッサと周辺装置と
を接続し、複数の入出力ポートのデータを結合するよう
なデータ転送を行なう従来のバスアダプタにあっては、
転送データの分解、組立操作や、ハンドシェーク処理が
必要となるため、構成の複雑化を招くことなくデータ転
送を高速に行なうことが困難となり、システム全体とし
ての高速動作ならびに性能向上の障害になっていた。
【0017】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、簡略な構成で
もって、データ幅の異なる装置間におけるデータ転送の
高速化を達成し得るバスインターフェイス装置を提供す
ることにある。
【0018】[発明の構成]
【0019】
【課題を解決するための手段】上記目的を達成するため
に、請求項1記載の発明は、入力ポートと出力ポートと
が第1のバス幅である外部装置から出力される第1のバ
ス幅のデータを第1のバス幅のn(n≧2)倍である第
2のバス幅の入出力ポートを有するプロセッサに第1の
バス幅毎に並列に転送する第1の転送手段と、前記プロ
セッサから第1のバス幅のデータ毎に対応して出力され
る選択信号にしたがって前記プロセッサから出力される
第2のバス幅のデータから択一的に第1のバス幅のデー
タを選択して前記外部装置に転送する第2の転送手段と
を備えて構成される。
【0020】また、請求項2記載の発明は、入力ポート
と出力ポートとが第1のバス幅である外部装置に対して
ミスアライメントデータの単一命令アクセス機能を備え
て第1のバス幅のn(n≧2)倍である第2のバス幅の
入出力ポートを有するプロセッサが前記外部装置に対し
てアクセスデータがミスアライメント状態となるように
前記外部装置から前記プロセッサへのデータ転送命令を
実行した時に、前記外部装置の異なる入出力ポートから
順次出力される第1のバス幅のそれぞれのデータを前記
プロセッサに第1のバス幅毎に並列に転送する第1の転
送手段と、前記プロセッサが前記外部装置に対してアク
セスデータがミスアライメント状態となるように前記プ
ロセッサから前記外部装置へのデータ転送命令を実行し
た時に、前記プロセッサから第1のバス幅のデータ毎に
対応して出力される選択信号にしたがって前記プロセッ
サから順次出力される第2のバス幅のそれぞれのデータ
から択一的に第1のバス幅のデータをそれぞれ選択して
前記外部装置の異なる入出力ポートに転送する第2の転
送手段とから構成される。
【0021】
【作用】上記構成において、この発明は、プロセッサが
ミスアライメントデータに対するアクセス機能により2
回のバスサイクルに分けてデータのアクセスを行なった
際に、外部装置から出力されるデータを並列にプロセッ
サのバス幅に拡張してプロセッサに転送し、プロセッサ
から出力されるデータの中からその単位データ毎に対応
した選択信号にしたがって外部装置のバス幅のデータを
選択して外部装置に転送するようにしている。
【0022】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
【0023】図1はこの発明の一実施例に係るバスイン
ターフェイス装置(バスアダプタ)を用いたシステムを
示す図であり、同図(a)はその構成を示す図、同図(
b)は周辺装置のメモリマップを示す図である。図1に
示す実施例は、16ビットのバス幅を有する入出力ポー
トを備えたプロセッサ11と8ビットのバス幅を有する
それぞれ4つの入出力ポートを有する周辺装置12とを
この発明に係るバスアダプタ13を介して接続したシス
テムである。
【0024】図1(a)に示すように、周辺装置13の
8ビットのバスB11は、バスアダプタ13を介して、
プロセッサ11の16ビットのバスB12,B13と接
続されている。バスアダプタ13の内部のデータ転送経
路は、図2(a)に示すようになる。
【0025】図2(a)において、周辺装置12からプ
ロセッサ11へのデータ転送時には、周辺装置12側の
8ビットのバスB11上のデータは、プロセッサ11側
の16ビットのバスの、上位8ビット(バスB12)と
下位8ビット(バスB13)の両方に転送される。すな
わち、周辺装置12側のビット0のデータがプロセッサ
11側のビット0とビット8に、周辺装置12側のビッ
ト1のデータがプロセッサ11側のビット1とビット9
に、……、周辺装置12側のビット7のデータがプロセ
ッサ11側のビット7とビット15に対応して転送され
る。
【0026】プロセッサ11から見たメモリマップは、
図1(b)に示すように、周辺装置12の4つの入出力
ポート(P0〜P3)が、偶数アドレスと奇数アドレス
に二重になって見える。
【0027】一方、プロセッサ11から周辺装置12へ
のデータ転送時には、周辺装置12側の8ビットのバス
へは、プロセッサ11側の16ビットのバスの、上位8
ビットか下位8ビットのいずれかのデータが転送される
【0028】この場合のデータ選択方法の一例を図2(
b)に示す。図2(b)に示す方法では、上位バイト優
先で選択する場合を示している。プロセッサ11は、そ
の16ビットのバスにより同時に2つのアドレスに対し
てアクセスすることができる。そのため、その2つのア
ドレスの何れか、または両方に対するアクセスが有効か
無効かを示す必要がある。通常、上位バイト、下位バイ
トに対して、それぞれのバイトに対するアクセスが有効
か無効かを示す信号が、アクセスアドレスと共にプロセ
ッサ11から出力される(図示せず)。この信号に基づ
いて上位バイト、下位バイトの何れか一方のデータが、
プロセッサ11側から周辺装置12側へ選択されて転送
される。
【0029】プロセッサ11から見た場合に、上位バイ
トに対応する奇数アドレスに対してデータ転送しても、
下位バイトに対応する偶数アドレスに対してデータ転送
しても、周辺装置12の同じ入出力ポートに転送されて
、図1(b)に示すようなメモリマップに見える。
【0030】厳密には、上位バイトと下位バイトで異な
ったデータを転送しようとした場合には、上位バイト側
のデータ転送が行なわれ、下位バイト側のデータは失わ
れる。すなわち、上位バイトと下位バイトを同時に有効
とするようなデータ転送は、禁止されるべきである。こ
のような制限の下で、図1(b)に示すようなメモリマ
ップになるというのが正確な表現である。
【0031】このようなバスアダプタ13を用いたプロ
セッサ11と周辺装置12との接続形態において、16
ビットデータをアクセスする命令を実行する状況を検討
する。一例として、周辺装置12のP0ポートとP1ポ
ートの各8ビットのデータをまとめて、16ビットデー
タとしてアクセスする場合を考える。この場合には、プ
ロセッサ11はP0ポートのアドレスを指定するわけで
あるが、101番地を指定することにより、メモリマッ
プ上で二重に見えているP0ポートの上位バイト側に対
応した像を使用する。
【0032】ここで、以下に説明するデータのアクセス
において、プロセッサ11が備えているミスアライメン
トデータのアクセス機能を利用するため、このミスアラ
イメントデータのアクセスについて簡単に説明する。
【0033】ミスアライメントデータのアクセス機能を
備えたプロセッサがアクセスできるメモリ領域が例えば
図3(a)に示すように2つのメモリバンク14,15
からなり、プロセッサはこの2つのメモリバンク14,
15に対して連続した任意の2バイトのデータを16ビ
ット・ワードとしてアクセスすることが可能とする。
【0034】2つのメモリバンク14,15のうち、メ
モリバンク14は下位ビット(D0〜D7)のデータバ
ス16に対応し、メモリバンク15は上位ビット(D8
〜D15)のデータバス17に対応している。これらの
メモリバンク14,15は、アドレスバス18から与え
られるA1〜A19で示されるアドレスビットで指定さ
れる。また、それぞれのメモリバンク14,15は、ア
ドレスA0とプロセッサから与えられる選択信号(/B
HE)とによって、図3(b)に示すような論理で選択
されるものとする。
【0035】このような構成において、偶数番地のデー
タ・バイトをアクセスする時には、下位のメモリバンク
14に対してデータ転送が行なわれ、奇数番地のデータ
・バイトをアクセスする時には、上位のメモリバンク1
5に対してデータ転送が行なわれる。
【0036】さらに、上位及び下位のメモリバンク14
,15を1まとめにした16ビットのワード単位でデー
タをアクセスする時に、アクセスすべきワードデータの
下位バイトが偶数アドレスで区切られている場合(下位
バイトが下位のメモリバンク14に格納されている場合
)には、そのワードは「アライメント(整列)状態にあ
る」といい、プロセッサは1回のバスサイクルで16ビ
ット・ワードデータをアクセスすることができる。
【0037】一方、アクセスすべきワードデータの下位
バイトが奇数バイトで区切られている場合(下位バイト
が上位のメモリバンク15に格納されている場合)には
、そのワードは「ミスアライメント(非整列)状態にあ
る」といい、アクセス動作には2バスサイクルが必要と
なる。1サイクル目のバスサイクルでは、上位のメモリ
バンク15に対してワードデータの下位バイトが転送さ
れ、その後、メモリバンクのアドレスがインクリメント
され、2サイクル目のバスサイクルでは、下位のメモリ
バンク14に対してワードデータの上位バイトが転送さ
れる。
【0038】ミスアライメントデータのアクセス機能を
備えたプロセッサでは、これらのアクセス動作のシーケ
ンスを1つの命令によって自動的に行ない、また、プロ
セッサ内部で上位バイト及び下位バイトと上位のデータ
バス17及び下位のデータバスとの対応関係も操作する
ことが可能となる。
【0039】このようなミスアライメントデータのアク
セス機能を備えたプロセッサ11へ周辺装置12からデ
ータ転送を行なう場合に、プロセッサ11は101番地
を指定して16ビットのデータを読出す命令を実行する
。この16ビットのデータは図1(b)のメモリマップ
に示すように、16ビット単位のワードの境界(この場
合、101番地と102番地の間の境界)を跨ぐため、
ミスアライメントデータとなる。そこで、2回に分けて
読み出しが行なわれる。
【0040】まず、プロセッサ11は101番地を指定
し、16ビットのデータバスの上位8ビット(奇数アド
レスである101番地に対応)のデータを読み取る。次
に、102番地を指定し、16ビットのデータバスの下
位8ビット(偶数アドレスである102番地に対応)の
データを読み取る。これらのデータをまとめて16ビッ
トデータとし、1つのデータアクセス命令が完了する。
【0041】本発明のバスアダプタ13は、周辺装置1
2側の8ビットデータをコピーしてプロセッサ11側へ
並列に転送するため、100番地を指定しても101番
地を指定しても、同じP0ポートのデータが読み出され
る。同様に、102番地を指定しても、103番地を指
定しても、同じP1ポートのデータが読み出される。す
なわち、この16ビットデータのアクセスでは、P0ポ
ートとP1ポートのデータが結合されて読み出されるこ
とになる。
【0042】次に、プロセッサ11から周辺装置12へ
のデータ転送を説明する。この場合に、プロセッサ11
は、101番地を指定して16ビットデータを書き込む
命令を実行する。この16ビットデータもミスアライメ
ントデータであり、2回に分けて書き込みが行なわれる
【0043】まず、プロセッサ11は101番地を指定
して1回目の書き込みを実行する。この時、16ビット
のデータバスの上位8ビット(奇数アドレスである10
1番地に対応)のデータが有効である旨を示す信号が出
力される。この信号は、プロセッサが備えている例えば
前述した選択信号(/BHE)である。次に、102番
地を指定して2回目の書き込みを実行する。この時、1
6ビットのデータバスの下位8ビット(偶数アドレスで
ある102番地に対応)のデータが有効である旨を示す
信号が出力される。これらの動作により、1つの16ビ
ットデータに対するアクセス命令が完了する。
【0044】本発明のバスアダプタ13は、プロセッサ
11側の有効なバイトのデータを周辺装置12側に転送
するよう動作する(但し上位バイト優先)ため、1回目
の書き込みでは上位バイト、2回目の書き込みでは下位
バイトのデータが、周辺装置12側に転送される。すな
わち、この16ビットデータのアクセスでは、P0ポー
トとP1ポートにデータが書き込まれることになる。
【0045】以上の説明では省略したが、8ビットデー
タに対するアクセスの場合、二重に見えているどちらの
アドレスを指定しても、問題なく動作することは、言う
までもない。
【0046】すなわち、P0ポートのアドレスは101
番地、P1ポートのアドレスは102番地と見なしてア
クセスすることにより、独立した8ビットデータアクセ
ス命令でも、両者を結合した16ビットデータアクセス
命令でも、矛盾なく動作させることができる。
【0047】例えば、P1ポートとP2ポートがひとま
とまりの16ビットデータである場合には、P1ポート
のアドレスが103番地、P2ポートのアドレスが10
4番地と見なせば良い。P0ポートは独立した8ビット
であるから、100番地と見ても101番地と見ても問
題ないのは明らかである。
【0048】以上説明したように、本発明のバスアダプ
タ13を用いれば、ミスアライメントデータになるよう
なアドレスを指定することで、プロセッサ11側がアク
セスを2回に分けるため、2つの8ビット入出力ポート
を結合した16ビット入出力ポートに対して、1つの1
6ビットデータアクセス命令でアクセスすることができ
る。
【0049】この時、バスアダプタ13ではプロセッサ
11側から与えられる信号のみで動作(双方のバスの接
続とデータの転送)しており、周辺装置12の応答を待
つようなステップは存在しない。このため、タイミング
に余裕がなくなったり、バスアダプタ13の構造が非常
に複雑になるという欠点は回避され、簡単な構成でデー
タ転送の高速化を図ることができるようになる。
【0050】次に、32ビットのバス幅を有するプロセ
ッサ21に、8ビットのバス幅を有する周辺装置22を
接続する場合の実施例を図4あるいは図5を参照して説
明する。
【0051】このような場合には、図4(a)に示すよ
うな接続方法により、図4(b)に示すようなメモリマ
ップを実現する方法がある。
【0052】図4(a)に示す構成にあっては、周辺装
置22からプロセッサ21へのデータ転送時は、周辺装
置22側の8ビットのバスB14上のデータは、プロセ
ッサ21側の32ビットのバスB15,B16,B17
,B18上に転送される。
【0053】すなわち、周辺装置22側のビット0のデ
ータがプロセッサ21側のビット0とビット8とビット
16とビット24に、周辺装置22側のビット1のデー
タがプロセッサ21側のビット1とビット9とビット1
7とビット25に、……、周辺装置22側のビット7の
データがプロセッサ21側のビット7とビット15とビ
ット23とビット31にそれぞれ対応して転送される。 したがって、プロセッサ21から見たメモリマップは、
図4(b)に示すように、周辺装置22の4つの入出力
ポート(P0〜P3)のそれぞれが四重になって見える
【0054】一方、プロセッサ21から周辺装置23へ
のデータ転送時には、周辺装置23側の8ビットのバス
B14へは、プロセッサ21側の32ビットのバスのい
ずれかのバイトデータがバスアダプタ23によって転送
される。この場合のデータ選択方法は、先に説明した図
2(b)に示したと同様であり、プロセッサ21から各
バイト毎に与えられるバイトデータが有効か無効かを示
す選択信号(図示せず)により選択される。
【0055】プロセッサ21から見た場合、いずれのバ
イトデータに対応するアドレスに対してデータを転送し
ても、周辺装置23の同じ入出力ポートに転送されるわ
けで、図4(b)に示したようなメモリマップに見える
【0056】厳密には、2つ以上のバイトで異なったデ
ータを転送しようとした場合には、上位に近いバイトの
データ転送が行なわれるから、そのようなデータ転送は
禁止されるべきである。このような制限の下で、図4(
b)に示すようなメモリマップになるというのが正確な
表現である。
【0057】次に、このようなバスアダプタ23を用い
たプロセッサ21と周辺装置22の接続形態において、
16ビットデータをアクセスする場合を説明する。一例
として、周辺装置22の入出力ポートP0とP1の各8
ビットのデータをまとめて16ビットデータとしてアク
セスする場合を考える。
【0058】このような場合には、プロセッサ21は、
P0ポートのアドレスを指定するわけであるが、103
番地を指定することにより、メモリマップ上に四重に見
えているP0ポートの最上位バイトに対応した像を使用
する。
【0059】周辺装置22からプロセッサ21へのデー
タ転送では、プロセッサ21は103番地を指定して1
6ビットデータを読み出す命令を実行する。この16ビ
ットデータは、32ビット単位のワード境界(この場合
、103番地と104番地の間の境界)を跨ぐため、ミ
スアライメントデータとなり、2回に分けて読み出しが
行なわれる。
【0060】まず、プロセッサ21は103番地を指定
し、32バイトの最上位バイト(ここが103番地に対
応)を読み取る。これが、目的の16ビットデータの下
位バイトに相当する。次に、104番地を指定し、32
ビットの最下位バイト(ここが104番地に対応)を読
み取る。これが、目的の16ビットデータの上位バイト
に相当する。これらを結合することにより、周辺装置2
2の入出力ポートP0とP1の各8ビットのデータをま
とめた16ビットデータがアクセスされる。
【0061】一方、プロセッサ21から周辺装置22へ
のデータ転送では、プロセッサ21は、103番地を指
定して16ビットデータを書き込む命令を実行する。こ
の16ビットデータもミスアライメントデータとなり、
2回に分けて書き込みが行なわれる。
【0062】まず、プロセッサ21は103番地を指定
し、32ビットの最上位バイト(ここが103番地に対
応)のみが有効である信号を出力しつつ書き込みを実行
する。次に、104番地を指定し、32ビットの最下位
バイト(ここが104番地に対応)のみが有効である信
号を出力しつつ書き込みを実行する。これが、目的の1
6ビットデータの上位バイトに相当する。これらの動作
により、16ビットデータが、周辺装置のP0ポートと
P1ポートに書き込まれることになる。
【0063】以上の説明では省略したが、8ビットデー
タに対するアクセスの場合には、四重に見えているどの
アドレスを指定しても、問題なく動作することは、言う
までもない。すなわち、P0ポートのアドレスは103
番地、P1ポートのアドレスは104番地と見なしてア
クセスすることにより、独立した8ビットデータのアク
セス命令でも、両者を結合した16ビットデータのアク
セス命令でも、矛盾なく動作させることができる。
【0064】図4に示した実施例では、プロセッサ21
側の32ビットのバスの内、最上位バイトのバスB18
と最下位バイトのバスB15しか使用していない。図4
(b)に示すメモリマップにあっては、101番地や1
02番地に見えているP0ポートのデータは参照されて
いないということである。
【0065】そこで、それらのバイト位置、あるいは番
地に対応する部分の機構を省略することが可能である。 その実施例を、図5に示す。図5に示した接続形態にお
ける転送動作は図4に示した実施例と全く同じであるこ
とは、言うまでもない。
【0066】最後に、32ビットのバス幅を持つマイク
ロプロセッサに、16ビットのバス幅を持つ周辺装置を
接続する場合の実施例を説明する。このような場合には
、プロセッサのアドレスは8ビット(バイト)単位に設
定されているであろうが、バスアダプタとしては2バイ
トをひとまとめにして、プロセッサ側が16ビット毎の
2つの部分に分かれていると考える。これにより、図1
で説明した実施例において、ビット幅を全て2倍に変更
したものと同一になる。
【0067】図6(a)において、周辺装置24は、1
6ビット幅(P0HとP0Lを接合したもの等)の4つ
の入出力ポートを備え、バスアダプタ25により32ビ
ットのバス幅を有するプロセッサ26に接続されており
、図6(b)に示したようなメモリマップとなる。
【0068】このような接続形態において、32ビット
データ(例えば、上位からP1H、P1L、P0H、P
0Lをひとまとめにしたデータ)をアクセスする場合、
102番地を指定して32ビットデータをアクセスする
命令を実行すればよい。102番地からの32ビットデ
ータは、ミスアライメントデータとなるため、プロセッ
サ26は102番地と103番地を対象とした16ビッ
トのデータ転送アクセスと、104番地と105番地を
対象とした16ビットのデータ転送アクセスの2回のア
クセスに分割する。これにより、P1H、P1L、P0
H、P0Lのポートをひとまとめにした32ビットデー
タを1命令でアクセスすることができる。
【0069】このように、本発明の実施例では、8ビッ
トのバス幅を有する周辺装置をきわめて容易に16ビッ
トのバス幅を有するプロセッサや32ビットのバス幅を
有するプロセッサに接続し、2つの8ビット入出力ポー
トを結合した16ビットデータに対して、極めて自然に
16ビットのデータアクセス命令を用いて読み出し/書
き込みを実行することができる。
【0070】また、16ビットのバス幅を有する周辺装
置を32ビットのバス幅を有するプロセッサに接続し、
2つの16ビット入出力ポートを結合した32ビットデ
ータに対して、極めて自然に32ビットのデータアクセ
ス命令を用いて読み出し及び書込みを実行することがで
きる。
【0071】したがって、プロセッサ側から与えられる
信号のみに基づいてデータ転送と信号線の切り替えを実
行するバスアダプタを用い、多くのプロセッサが備える
ミスアライメントデータに対するデータアクセス機能を
利用することにより、非常に単純な構造であるにも係わ
らず、動作タイミング上の余裕を減らすことなく、ポー
トサイズ(バス幅)が異なるマイクロプロセッサとスト
レージデバイス(周辺装置やメモリ装置)を接続するこ
とができる。
【0072】これは、バス幅が異なるマイクロプロセッ
サと周辺装置の接続を容易にし、そこで必要となるバス
アダプタのコストや消費電力を低下させるとともに、プ
ロセッサや周辺装置の応用範囲を広げることに寄与する
ことになる。
【0073】なお、本発明は、上記実施例に限定される
ことはなく、その主旨を逸脱しない範囲で広く適用でき
ることは勿論である。また、図2(b)において、デー
タ選択機能の動作を説明する際に、上位バイト側が優先
になるような場合の例で説明したが、別の実施態様とし
て、下位バイト側が優先になるようなデータ選択機能を
持たせるようにしてもよい。
【0074】
【発明の効果】以上説明したように、この発明によれば
、ミスアライメントデータに対するアクセス機能により
アクセスされるデータを並列に分配しあるいは択一的に
選択することによってプロセッサと外部装置間でのデー
タ転送を行なうようにしたので、簡単な構成によりデー
タ幅の異なる装置間におけるデータ転送の高速化を達成
し得るバスインターフェイス装置を提供することができ
る。
【図面の簡単な説明】
【図1】この発明の一実施例を示す図である。
【図2】図1に示す実施例における要部構成及びその動
作を示す図である。
【図3】この発明で使用されるアクセス機能を説明する
ための図である。
【図4】この発明の他の実施例を示す図である。
【図5】この発明の他の実施例を示す図である。
【図6】この発明の他の実施例を示す図である。
【図7】プロセッサと周辺装置との従来技術による接続
形態を示す図である。
【図8】プロセッサと周辺装置との従来技術による接続
形態を示す図である。
【図9】プロセッサと周辺装置との従来技術による接続
形態を示す図である。
【符号の説明】
1,11,21,26  プロセッサ 2,12,22,24  周辺装置

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  入力ポートと出力ポートとが第1のバ
    ス幅である外部装置から出力される第1のバス幅のデー
    タを第1のバス幅のn(n≧2)倍である第2のバス幅
    の入出力ポートを有するプロセッサに第1のバス幅毎に
    並列に転送する第1の転送手段と、前記プロセッサから
    第1のバス幅のデータ毎に対応して出力される選択信号
    にしたがって前記プロセッサから出力される第2のバス
    幅のデータから択一的に第1のバス幅のデータを選択し
    て前記外部装置に転送する第2の転送手段とを有するこ
    とを特徴とするインターフェイス装置。
  2. 【請求項2】  入力ポートと出力ポートとが第1のバ
    ス幅である外部装置に対してミスアライメントデータの
    単一命令アクセス機能を備えて第1のバス幅のn(n≧
    2)倍である第2のバス幅の入出力ポートを有するプロ
    セッサが前記外部装置に対してアクセスデータがミスア
    ライメント状態となるように前記外部装置から前記プロ
    セッサへのデータ転送命令を実行した時に、前記外部装
    置の異なる入出力ポートから順次出力される第1のバス
    幅のそれぞれのデータを前記プロセッサに第1のバス幅
    毎に並列に転送する第1の転送手段と、前記プロセッサ
    が前記外部装置に対してアクセスデータがミスアライメ
    ント状態となるように前記プロセッサから前記外部装置
    へのデータ転送命令を実行した時に、前記プロセッサか
    ら第1のバス幅のデータ毎に対応して出力される選択信
    号にしたがって前記プロセッサから順次出力される第2
    のバス幅のそれぞれのデータから択一的に第1のバス幅
    のデータをそれぞれ選択して前記外部装置の異なる入出
    力ポートに転送する第2の転送手段とを有することを特
    徴とするバスインターフェイス装置。
JP9866391A 1991-04-30 1991-04-30 バスインターフェイス装置 Pending JPH04328664A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9866391A JPH04328664A (ja) 1991-04-30 1991-04-30 バスインターフェイス装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9866391A JPH04328664A (ja) 1991-04-30 1991-04-30 バスインターフェイス装置

Publications (1)

Publication Number Publication Date
JPH04328664A true JPH04328664A (ja) 1992-11-17

Family

ID=14225752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9866391A Pending JPH04328664A (ja) 1991-04-30 1991-04-30 バスインターフェイス装置

Country Status (1)

Country Link
JP (1) JPH04328664A (ja)

Similar Documents

Publication Publication Date Title
US6047120A (en) Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
JP2586833B2 (ja) データプロセッサ
US5781763A (en) Independent control of DMA and I/O resources for mixed-endian computing systems
JPH0578863B2 (ja)
JPH0248747A (ja) マイクロプロセツサ
JP4860891B2 (ja) ビット順次手法により大容量並列プロセッサアレイをメモリアレイに接続する方法及び装置
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JPH11312085A (ja) プロセッサ
JPH04328664A (ja) バスインターフェイス装置
JPH05197619A (ja) マルチcpu用メモリ制御回路
JPH0225958A (ja) 高速データ転送システム
JP3182000B2 (ja) 複合情報処理システムにおける拡張記憶装置
JPS59206970A (ja) マイクロプロセツサ
JPH0646413B2 (ja) デ−タ処理プロセッサ
JP2976443B2 (ja) システムバスを介してデータをやりとりする情報処理装置
JP2504535B2 (ja) バスユニットの構成方法
JP3204157B2 (ja) 計算機のデータ供給方式
JP3164848B2 (ja) メモリアクセス回路
JP2659886B2 (ja) プロセッサシステム
JPH03214275A (ja) 半導体集積回路
JPS61198344A (ja) ブロツクデ−タ書込方式
JPS5854478A (ja) 主記憶制御方法
JPS63271567A (ja) 非対称密結合マルチプロセツサシステム
JPH0399321A (ja) 命令制御方式
JPS6344235A (ja) デ−タ処理装置