(57)【要約】【課題】データ幅の異なるデバイス間のデータ転送を低コストで高速に実現するデータ転送装置を提供する。【解決手段】各々システムバスに接続される、データ幅の異なるデバイス間でデータを転送するデータ転送装置であって、データ幅が大きいほうの第１のデバイスと前記システムバスとの間に接続され、前記第１のデバイスからデータ幅が小さいほうの第２のデバイスへデータを転送する際、前記第２のデバイスのデータ幅ごとに分割してデータが転送されるように前記第１のデバイスのアドレスデコード及びシステムバス接続を変更する。【選択図】図２
2008176571.tif 000002
【特許請求の範囲】
【請求項１】
各々システムバスに接続される、データ幅の異なるデバイス間でデータを転送するデータ転送装置であって、データ幅が大きいほうの第１のデバイスと前記システムバスとの間に接続され、前記第１のデバイスからデータ幅が小さいほうの第２のデバイスへデータを転送する際、前記第２のデバイスのデータ幅ごとに分割してデータが転送されるように前記第１のデバイスのアドレスデコード及びシステムバス接続を変更することを特徴とするデータ転送装置。
【請求項２】
１６ビットシステムバスに接続される１６ビットデータバスの第１のデバイスと、前記システムバスの下位８ビットに接続される８ビットデータバスの第２のデバイスの間でデータを転送するデータ転送装置であって、前記第１のデバイスと前記システムバスとの間に接続され、前記第１のデバイスから前記第２のデバイスへデータを転送する際、システムアドレス上、前記第２のデバイスのアドレス２（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの上位８ビットが前記システムバスの下位８ビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（２ｎ−１）+βに転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの下位８ビットが転送されるようにアドレスデコード及びシステムバス接続を変更することを特徴とするデータ転送装置。
【請求項３】
１６ビットシステムバスに接続される１６ビットデータバスの第１のデバイスと、前記システムバスの下位８ビットに接続される８ビットデータバスの第２のデバイスの間でデータを転送するデータ転送装置であって、前記第１のデバイスと前記システムバスとの間に接続され、前記第１のデバイスから前記第２のデバイスへデータを転送する際、システムアドレス上、前記第２のデバイスのアドレス２（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの下位８ビットが前記システムバスの下位８ビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（２ｎ−１）+βに転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの上位８ビットが転送されるようにアドレスデコード及びシステムバス接続を変更することを特徴とするデータ転送装置。
【請求項４】
ｋｍビット（ｋは２以上の整数、ｍは正の整数）システムバスに接続されるｋｍビットデータバスの第１のデバイスと、前記システムバスの下位ｍビットに接続されるｍビットデータバスの第２のデバイスとの間でデータを転送するデータ転送装置であって、前記第１のデバイスと前記システムバスとの間に接続され、前記第１のデバイスから前記第２のデバイスへデータを転送する際、システムアドレス上、前記第２のデバイスのアドレスｋ（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの最上位ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のデバイスのアドレスｋ（ｎ−１）＋１+βに転送する場合は、前記第１のデバイスのアドレス（ｎ−１）＋αの最上位から（ｍ＋１）ビットから２ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（ｋｎ−１）+βに転送する場合、アドレス（ｎ−１）＋αの最下位ｍビットが転送されるようにアドレスデコード及びシステムバス接続を変更することを特徴とするデータ転送装置。
【請求項５】
ｋｍビット（ｋは２以上の整数、ｍは正の整数）システムバスに接続されるｋｍビットデータバスの第１のデバイスと、前記システムバスの下位ｍビットに接続されるｍビットデータバスの第２のデバイスとの間でデータを転送するデータ転送装置であって、前記第１のデバイスと前記システムバスとの間に接続され、前記第１のデバイスから前記第２のデバイスへデータを転送する際、システムアドレス上、前記第２のデバイスのアドレスｋ（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの最下位ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のデバイスのアドレスｋ（ｎ−１）＋１+βに転送する場合は、前記第１のデバイスのアドレス（ｎ−１）＋αの最下位から（ｍ＋１）ビットから２ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（ｋｎ−１）+βに転送する場合、アドレス（ｎ−１）＋αの最上位ｍビットが転送されるようにアドレスデコード及びシステムバス接続を変更することを特徴とするデータ転送装置。
【請求項６】
前記第１のデバイスと前記第２のデバイスとの間のデータ転送はＤＭＡによるものであることを特徴とする請求項１乃至５のいずれか１項に記載のデータ転送装置。
【請求項７】
各々システムバスに接続される、データ幅の異なるデバイス間でデータを転送するデータ転送方法であって、前記第１のデバイスからデータ幅が小さいほうの第２のデバイスへデータを転送する際、前記第２のデバイスのデータ幅ごとにデータが転送されるように前記第１のデバイスのアドレスデコード及びシステムバス接続を変更し、データを転送することを特徴とするデータ転送方法。
【請求項８】
１６ビットシステムバスに接続される１６ビットデータバスの第１のデバイスから、前記システムバスの下位８ビットに接続される８ビットデータバスの第２のデバイスにデータを転送するデータ転送方法であって、システムアドレス上、前記第２のデバイスのアドレス２（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの上位８ビットを前記システムバスの下位８ビットを経て前記第２のデバイスへ転送し、前記第２のアドレス（２ｎ−１）+βに転送する場合、アドレス（ｎ−１）＋αの下位８ビットを転送するようにアドレスデコード及びシステムバス接続を変更することを特徴とするデータ転送方法。
【請求項９】
１６ビットシステムバスに接続される１６ビットデータバスの第１のデバイスから、前記システムバスの下位８ビットに接続される８ビットデータバスの第２のデバイスにデータを転送するデータ転送方法であって、システムアドレス上、前記第２のデバイスのアドレス２（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの下位８ビットを前記システムバスの下位８ビットを経て前記第２のデバイスへ転送し、前記第２のアドレス（２ｎ−１）+βに転送する場合、アドレス（ｎ−１）＋αの上位８ビットを転送するようにアドレスデコード及びシステムバス接続を変更することを特徴とするデータ転送方法。
【請求項１０】
ｋｍビット（ｋは２以上の整数、ｍは正の整数）システムバスに接続されるｋｍビットデータバスの第１のデバイスから、前記システムバスの下位ｍビットに接続されるｍビットデータバスの第２のデバイスにデータを転送するデータ転送方法であって、システムアドレス上、前記第２のデバイスのアドレスｋ（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第２のデバイスのアドレス（ｎ−１）＋αの最上位ｍビットを前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送し、前記第２のデバイスのアドレスｋ（ｎ−１）＋１+βに転送する場合は、前記第１のデバイスのアドレス（ｎ−１）＋αの最上位から（ｍ＋１）ビットから２ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（ｋｎ−１）+βに転送する場合、アドレス（ｎ−１）＋αの下位ｍビットを転送するようにアドレスデコード及びシステムバス接続を変更することを特徴とするデータ転送方法。
【請求項１１】
ｋｍビット（ｋは２以上の整数、ｍは正の整数）システムバスに接続されるｋｍビットデータバスの第１のデバイスから、前記システムバスの下位ｍビットに接続されるｍビットデータバスの第２のデバイスにデータを転送するデータ転送方法であって、システムアドレス上、前記第２のデバイスのアドレスｋ（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第２のデバイスのアドレス（ｎ−１）＋αの最下位ｍビットを前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送し、前記第２のデバイスのアドレスｋ（ｎ−１）＋１+βに転送する場合は、前記第１のデバイスのアドレス（ｎ−１）＋αの最下位から（ｍ＋１）ビットから２ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（ｋｎ−１）+βに転送する場合、アドレス（ｎ−１）＋αの上位ｍビットを転送するようにアドレスデコード及びシステムバス接続を変更することを特徴とするデータ転送方法。
【請求項１２】
前記第１のデバイスと前記第２のデバイスとの間のデータ転送はＤＭＡによるものであることを特徴とする請求項７乃至１１のいずれか１項に記載のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ幅の異なるデバイス間でデータを転送するデータ転送装置及びデータ転送方法に関する。
【背景技術】
【０００２】
例えばコンピュータシステム等のようなバス結合システムでは、種々の長さのデータを取り扱うことができるように、システムバスは最大バス幅に設定されている場合が多い。ＣＰＵは８ビットから６４ビットのものが一般的であるが、システムバスはそのＣＰＵの扱えるデータ長までの長さとなる。一方では、ＩＯ機器のＩ／Ｏバスのデータ長は８ビットが主流であり、したがって、８ビット以外のＣＰＵのシステムでは、システムバスとＩ／Ｏバスの長さが異なる。
【０００３】
従来では、これらの長さの異なるバス間にバッファ等を接続するようにしており、特許文献１では、バスの効率的な使用を可能にするため、データ幅の大きいデバイスから小さいデバイスへデータを転送する際に、いったんデータをバッファに転送した後、バッファから小さいデータ幅単位に分割して転送する技術が提案されている。
【０００４】
【特許文献１】特開平２−１６２４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の方法では、データを一時的に保持するためにバッファとして高速な記憶装置が必要であり、コストがかかるという問題があった。また、バッファからデータを分割して転送するために、同期などのタイミング設計が難しいという問題もあった。
【０００６】
上述したことを鑑み、本発明の目的は、データ幅の異なるデバイス間のデータ転送を低コストで高速に実現するデータ転送装置及びデータ転送方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明のデータ転送装置は、各々システムバスに接続される、データ幅の異なるデバイス間でデータを転送するデータ転送装置であって、データ幅が大きいほうの第１のデバイスと前記システムバスとの間に接続され、前記第１のデバイスからデータ幅が小さいほうの第２のデバイスへデータを転送する際、前記第２のデバイスのデータ幅ごとに分割してデータが転送されるように前記第１のデバイスのアドレスデコード及びシステムバス接続を変更することを特徴とする。
【０００８】
本発明の他のデータ転送装置は、１６ビットシステムバスに接続される１６ビットデータバスの第１のデバイスと、前記システムバスの下位８ビットに接続される８ビットデータバスの第２のデバイスの間でデータを転送するデータ転送装置であって、前記第１のデバイスと前記システムバスとの間に接続され、前記第１のデバイスから前記第２のデバイスへデータを転送する際、システムアドレス上、前記第２のデバイスのアドレス２（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの上位８ビットが前記システムバスの下位８ビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（２ｎ−１）+βに転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの下位８ビットが転送されるようにアドレスデコード及びシステムバス接続を変更することを特徴とする。
【０００９】
本発明のさらに他のデータ転送装置は、１６ビットシステムバスに接続される１６ビットデータバスの第１のデバイスと、前記システムバスの下位８ビットに接続される８ビットデータバスの第２のデバイスの間でデータを転送するデータ転送装置であって、前記第１のデバイスと前記システムバスとの間に接続され、前記第１のデバイスから前記第２のデバイスへデータを転送する際、システムアドレス上、前記第２のデバイスのアドレス２（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの下位８ビットが前記システムバスの下位８ビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（２ｎ−１）+βに転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの上位８ビットが転送されるようにアドレスデコード及びシステムバス接続を変更することを特徴とする。
【００１０】
本発明のさらに他のデータ転送装置は、ｋｍビット（ｋは２以上の整数、ｍは正の整数）システムバスに接続されるｋｍビットデータバスの第１のデバイスと、前記システムバスの下位ｍビットに接続されるｍビットデータバスの第２のデバイスとの間でデータを転送するデータ転送装置であって、前記第１のシステムと前記システムバスとの間に接続され、前記第１のデバイスから前記第２のデバイスへデータを転送する際、システムアドレス上、前記第２のデバイスのアドレスｋ（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの最上位ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のデバイスのアドレスｋ（ｎ−１）＋１+βに転送する場合は、前記第１のデバイスのアドレス（ｎ−１）＋αの最上位から（ｍ＋１）ビットから２ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（ｋｎ−１）+βに転送する場合、アドレス（ｎ−１）＋αの下位ｍビットが転送されるようにアドレスデコード及びシステムバス接続を変更することを特徴とする。
【００１１】
本発明のさらに他のデータ転送装置は、ｋｍビット（ｋは２以上の整数、ｍは正の整数）システムバスに接続されるｋｍビットデータバスの第１のデバイスと、前記システムバスの下位ｍビットに接続されるｍビットデータバスの第２のデバイスとの間でデータを転送するデータ転送装置であって、前記第１のシステムと前記システムバスとの間に接続され、前記第１のデバイスから前記第２のデバイスへデータを転送する際、システムアドレス上、前記第２のデバイスのアドレスｋ（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの最下位ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のデバイスのアドレスｋ（ｎ−１）＋１+βに転送する場合は、前記第１のデバイスのアドレス（ｎ−１）＋αの最下位から（ｍ＋１）ビットから２ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（ｋｎ−１）+βに転送する場合、アドレス（ｎ−１）＋αの上位ｍビットが転送されるようにアドレスデコード及びシステムバス接続を変更することを特徴とする。
【００１２】
本発明のデータ転送方法は、各々システムバスに接続される、データ幅の異なるデバイス間でデータを転送するデータ転送方法であって、前記第１のデバイスからデータ幅が小さいほうの第２のデバイスへデータを転送する際、前記第２のデバイスのデータ幅ごとにデータが転送されるように前記第１のデバイスのアドレスデコード及びシステムバス接続を変更し、データを転送することを特徴とする。
【００１３】
本発明の他のデータ転送方法は、１６ビットシステムバスに接続される１６ビットデータバスの第１のデバイスから、前記システムバスの下位８ビットに接続される８ビットデータバスの第２のデバイスにデータを転送するデータ転送方法であって、システムアドレス上、前記第２のデバイスのアドレス２（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの上位８ビットを前記システムバスの下位８ビットを経て前記第２のデバイスへ転送し、前記第２のアドレス（２ｎ−１）+βに転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの下位８ビットを転送するようにアドレスデコード及びシステムバス接続を変更することを特徴とする。
【００１４】
本発明のさらに他のデータ転送方法は、１６ビットシステムバスに接続される１６ビットデータバスの第１のデバイスから、前記システムバスの下位８ビットに接続される８ビットデータバスの第２のデバイスにデータを転送するデータ転送方法であって、システムアドレス上、前記第２のデバイスのアドレス２（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの下位８ビットを前記システムバスの下位８ビットを経て前記第２のデバイスへ転送し、前記第２のアドレス（２ｎ−１）+βに転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの上位８ビットを転送するようにアドレスデコード及びシステムバス接続を変更することを特徴とする。
【００１５】
本発明のさらに他のデータ転送方法は、ｋｍビット（ｋは２以上の整数、ｍは正の整数）システムバスに接続されるｋｍビットデータバスの第１のデバイスから、前記システムバスの下位ｍビットに接続されるｍビットデータバスの第２のデバイスにデータを転送するデータ転送方法であって、システムアドレス上、前記第２のデバイスのアドレス２（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの最上位ｍビットを前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送し、前記第２のデバイスのアドレスｋ（ｎ−１）＋１+βに転送する場合は、前記第１のデバイスのアドレス（ｎ−１）＋αの最上位から（ｍ＋１）ビットから２ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（ｋｎ−１）+βに転送する場合、アドレス（ｎ−１）＋αの下位ｍビットを転送するようにアドレスデコード及びシステムバス接続を変更することを特徴とする。
【００１６】
本発明のさらに他のデータ転送方法は、ｋｍビット（ｋは２以上の整数、ｍは正の整数）システムバスに接続されるｋｍビットデータバスの第１のデバイスから、前記システムバスの下位ｍビットに接続されるｍビットデータバスの第２のデバイスにデータを転送するデータ転送方法であって、システムアドレス上、前記第２のデバイスのアドレス２（ｎ−１）+β（ｎは正の整数）に転送する場合、前記第１のデバイスのアドレス（ｎ−１）＋αの最下位ｍビットを前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送し、前記第２のデバイスのアドレスｋ（ｎ−１）＋１+βに転送する場合は、前記第１のデバイスのアドレス（ｎ−１）＋αの最下位から（ｍ＋１）ビットから２ｍビットが前記システムバスの下位ｍビットを経て前記第２のデバイスへ転送され、前記第２のアドレス（ｋｎ−１）+βに転送する場合、アドレス（ｎ−１）＋αの上位ｍビットを転送するようにアドレスデコード及びシステムバス接続を変更することを特徴とする。
【００１７】
好適には、前記第１のデバイスと前記第２のデバイスとの間のデータ転送はＤＭＡによるものである。
【発明の効果】
【００１８】
本発明によれば、データ幅の異なるデバイス間のデータ転送を低コストで高速に実現するデータ転送装置及びデータ転送方法を提供することができる。
【発明を実施するための最良の形態】
【００１９】
本発明のデータ転送装置は、通常使用時とＤＭＡ（Direct Memory Access）転送時で、アドレスデコードを変えることにより、データ幅の異なるデバイス間でデータ転送を行う。
【００２０】
本発明のデータ転送装置は、データ幅の大きいデバイスとシステムバスとの間に接続され、データ幅の大きいデイバスからデータ幅の小さいデバイスにＤＭＡによりデータを転送する際、データ幅の大きいデバイスのデータがデータ幅の小さいデバイスのデータ幅ごとにデータ幅の小さいデバイスに転送されるようにアドレスデコード及びシステムバス接続を変更する。以下、例として、システムバスのデータ幅を１６ビット、データ幅の大きいデバイスのデータ幅を１６ビット、データ幅の小さいデバイスのデータ幅を８ビットとした場合について説明する。
【００２１】
図１は、本発明のデータ転送装置を用いるバスシステムの一例を示すブロック図である。本システムは、１６ビットシステムバスのシステムであり、１６ビットデータバスのＣＰＵ（Center Processing Unit）１と、１６ビットデータバスの第１デバイス２と、８ビットデータバスの第２デバイス３と、データ転送装置４とを含む。ＣＰＵ１は、本システム内でデータ転送の制御を実行するものであり、直接１６ビットシステムバスに接続する。第１デバイス２は、例えば、コンピュータのメインメモリであり、データ転送装置４を経て１６ビットシステムバスに接続される。第２デバイス３は、例えば、ＣＲＴコントローラのローカルメモリであり、１６ビットシステムバスの下位８ビットに接続する。
【００２２】
ＣＰＵ１が１６ビットデータバスの第１デバイス２にアクセスする通常使用時には、データ転送装置４は、通常使用時には、第１デバイス２を１６ビットシステムバスに直接接続する。
【００２３】
ＣＰＵ１が８ビットデータバスの第２デバイス３にアクセスするときは、ＣＰＵ１が下位８ビットに有効なデータが配置されるようにデータ変換を行い、第２デバイス３にアクセスする。
【００２４】
１６ビットデータバスの第１デバイス２から８ビットデータバスの第２デバイス３にＤＭＡによりデータ転送する場合、データ転送装置４は、第１デバイス２のアドレスデコード及びシステムバス接続を変更する。
【００２５】
図２は、図１に示す第１デバイス２から第２デバイス３へのＤＭＡによるデータ転送を説明するブロック図である。説明のため、図１のデータ転送装置４を、アドレス変換部２３とデータセレクタ２２とに分けて示す。第１デバイス２から第２デバイス３にＤＭＡによりデータ転送する際、例えばＤＭＡコントローラ（図示せず）からの制御信号によりＤＭＡ転送が行われることを通知されたアドレス変換部２３及びデータセレクタ２２は、以下のように第１デバイス２のアドレスデコードおよびシステムバス接続を変更する。
【００２６】
１６ビットデータバスの第１デバイス２から８ビットデータバスの第２デバイス３にデータを転送するために、バイト並びはビッグエンディアンとすると、第１デバイス２にシステムアドレス上、０、２、４、６、．．．とアクセスした場合、アドレスデコード及びシステムバス接続を変更し、第１デバイス２の１６ビットデータを上位８ビットと下位８ビットに分け、第１デバイス２のアドレス０の上位８ビット、アドレス０の下位８ビット、アドレス２の上位８ビット、アドレス２の下位８ビット、アドレス４の上位８ビット、アドレス４の下位８ビット、．．．がシステムバスの下位８ビットを経て第２デバイス３に転送されるようにする。
【００２７】
図３は、図２に示す第１デバイス２から第２デバイス３へのＤＭＡによるデータ転送を説明するフローチャートである。本例では、バイト並びはビッグエンディアンとする。
【００２８】
ステップＳ３０１で、アドレス変換部２３は、アドレス変換をＤＭＡ用に変更する。システムアドレス上、０、２、４、６、．．．とアクセスした場合、アドレス変換部２３はシステムバス（アドレス）から受けたアドレス、０、２、４、６、．．．を、０、０、２、２、４、４、．．．となるようにアドレス変換し、第１デバイス２に送る。
【００２９】
ステップＳ３０２で、データセレクタ２２の制御をＤＭＡ用に設定する。データセレクタ２２は、１６ビットシステムバスの、第２デバイス３も接続されている下位８ビットに接続する。アドレスデコーダは、システムバス（アドレス）から受けたアドレス、０、２、４、６、．．．を、アドレス０の上位８ビット、アドレス０の下位８ビット、アドレス２の上位８ビット、アドレス２の下位８ビット、．．．となるようにアドレスデコードし、データセレクタ２２に送る。
【００３０】
ステップＳ３０３で、第１デバイス２から第２デバイス３へのＤＭＡによるデータ転送を行う。第１デバイス２にシステムアドレス上、０、２、４、６、．．．とアクセスした場合、第１デバイス２のアドレス０の上位８ビット、アドレス０の下位８ビット、アドレス２の上位８ビット、アドレス２の下位８ビットが、１６ビットシステムバスの下位８ビットを経て第２デバイス３に転送される。
【００３１】
ステップＳ３０４で、データセレクタ２２の制御を通常用に設定し、ステップＳ３０５で、アドレス変換部２３はアドレス変換を通常用に戻し、第１デイバス２から第２デバイス３へのデータ転送を終了する。
【００３２】
上記例では、システムバスが１６ビット幅、第１デバイスが１６ビットデータバス、第２デバイスが８ビットデータバスの場合について説明した。より一般的に、システムバスがｋｍビット（ｋは２以上の整数、ｍは正の整数）、第１デバイスがｋｍビット、第２デバイスがｍビットの場合には、以下のようにアドレスデコードする。
【００３３】
システムアドレス上、ｋ（ｎ−１）＋β（ｎは正の整数）にアクセスした場合、第１のデバイスのアドレス（ｎ−１）＋αの最上位ｍビット、ｋ（ｎ−１）＋１＋β（ｎは正の整数）にアクセスした場合、アドレス（ｎ−１）＋αの最上位から（ｍ＋１）ビットから２ｍビットまでのｍビット、（ｋｎ−１）+βにアクセスする場合、アドレス（ｎ−１）＋αの最下位ｍビットと成るようにアドレスデコードする。
【００３４】
このようにして、本発明は、アドレスデコード及びシステムバス接続を変更する簡単なデータ転送装置により、データ幅の大きいデバイスからデータ幅の小さいデバイスへ、ＤＭＡによりデータ転送することを可能にする。
【００３５】
なお、上述した例では、上位ビット、下位ビットの順で転送するようになっているが、反対に下位ビット、上位ビットの順に転送してもよい。
【産業上の利用可能性】
【００３６】
本発明は、データ幅の異なるデバイス間でデータを転送するデータ転送装置に利用可能である。
【図面の簡単な説明】
【００３７】
【図１】本発明のデータ転送装置を用いるバスシステムの一例を示すブロック図である。
【図２】第１デバイスから第２デバイスへのＤＭＡによるデータ転送を説明するブロック図である。
【図３】第１デバイスから第２デバイスへのＤＭＡによるデータ転送を説明するフローチャートである。
【符号の説明】
【００３８】
１  ＣＰＵ
２  第１デバイス
３  第２デバイス
４  データ転送装置
２１  アドレスデコーダ
２２  データセレクタ
２３  アドレス変換部
【図１】
2008176571.tif 000003
【図２】
2008176571.tif 000004
【図３】
2008176571.tif 000005