(57)【要約】【課題】メイン基板のエンディアンに関わらず、メイン基板とオプション基板との間にて、簡易な構成と制御により短い処理時間でデータ転送が行われるデータ処理装置を提供することを目的とする。【解決手段】Ｎを０以上の整数とし、２Ｎ＋１バイトのバス幅を有するメインデータバス１４を備えたメイン基板１０と２Ｎバイトのバス幅を有するオプションデータバス２２を備えたオプション基板２０とが接続された場合に、メイン基板１０は、オプション基板２０にエンディアン識別信号を出力し、オプション基板２０は、エンディアン識別信号に基づいて、メインデータバス１４の上位２Ｎバイト側と下位２Ｎバイト側との何れとオプションデータバス２２との間にてデータ転送が行われるかを選択することを特徴とするデータ処理装置１。【選択図】図１
2005258611.tif 000002
【特許請求の範囲】
【請求項１】
Ｎを０以上の整数とし、２Ｎ＋１バイトのバス幅を有するメインデータバスを備えたメイン基板と２Ｎバイトのバス幅を有するオプションデータバスを備えたオプション基板とが接続された場合に、前記メイン基板は、前記オプション基板にエンディアン識別信号を出力し、前記オプション基板は、前記エンディアン識別信号に基づいて、前記メインデータバスの上位２Ｎバイト側と下位２Ｎバイト側との何れと前記オプションデータバスとの間にてデータ転送が行われるかを選択することを特徴とするデータ処理装置。
【請求項２】
前記メイン基板にはピンが、前記オプション基板にはピン嵌合部が設けられており、前記メイン基板は、前記ピンが前記ピン嵌合部に嵌合されることにより前記オプション基板と接続された場合に、前記ピンから前記ピン嵌合部に前記エンディアン識別信号を出力することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記メイン基板は、前記エンディアン識別信号として、前記メイン基板がビッグエンディアンの場合には「１」を、前記メイン基板がリトルエンディアンの場合には「０」を出力し、前記オプション基板は、前記メインデータバスの上位２Ｎバイト側と前記オプションデータバスとの間にてデータ転送を行う上位バスに設けられた第１スリーステートバッファと、前記メインデータバスの下位２Ｎバイト側と前記オプションデータバスとの間にてデータ転送を行う下位バスに設けられた第２スリーステートバッファと、前記エンディアン識別信号を反転させた信号を出力する反転回路と、を備え、前記第１スリーステートバッファに前記エンディアン識別信号が入力され、前記第２スリーステートバッファに前記反転信号が入力されることを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記メイン基板は、前記メインデータバスを介して転送されるデータを格納するメモリを備え、前記メイン基板がビッグエンディアンの場合に前記メインデータバスの上位２Ｎバイト側を介して転送されるデータと、前記メイン基板がリトルエンディアンの場合に前記メインデータバスの下位２Ｎバイト側を介して転送されるデータと、が前記メモリの同じアドレス空間に格納されることを特徴とする請求項１から３の何れか１項に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関し、詳しくは、メイン基板とオプション基板とが接続され、メイン基板のエンディアンに関わらずメイン基板とオプション基板との間でデータ転送が行われるデータ処理装置に関するものである。
【背景技術】
【０００２】
メモリには１バイト毎に昇順のアドレスが付けられており、２バイト以上のバイト幅を有するデータをメモリに格納するとき、データを１バイト毎に分割してメモリ上の各アドレスに格納する必要がある。このとき、データをメモリに格納する方式はエンディアン（バイトオーダ）と呼ばれ、最上位のバイトから順番にアドレスの昇順にデータをメモリに格納する方式をビッグエンディアンといい、最下位のバイトから順番にアドレスの昇順にデータをメモリに格納する方式をリトルエンディアンという。
【０００３】
基板がビッグエンディアンであれば、基板内の１バイトのバス幅を有するＩ／Ｏ（Input / Output）インターフェイスから同じ基板内の２バイトのバス幅を有するメモリにデータを格納するとき、図２（ａ）に示すように、ｎ番地をアドレスとして１６ビット（２バイト）の上位８ビット（１バイト）である上位バイトＤ１５〜Ｄ８に格納し、ｎ＋１番地をアドレスとする１６ビットの下位８ビットである下位バイトＤ７〜Ｄ０には格納しない。一方、基板がリトルエンディアンであれば、図２（ｂ）に示すように、ｎ番地をアドレスとして下位バイトに格納し、ｎ＋１番地をアドレスとする上位バイトには格納しない。このように、エンディアンの違いにより、上位バイトと下位バイトとの何れにデータを格納するかは異なるが、同じ基板内ではエンディアンは統一されており、共にｎ番地をアドレスとしてデータを格納することができる。そのため、ｎ＋１番地にはデータを格納しないため実際のデータに使用するアドレス空間に対してメモリに２倍のアドレス空間を必要とする欠点はあるが、エンディアンの違いに関わらずメモリにデータを格納およびメモリ内のデータにアクセスするためのソフトウェアは共通化することができ、システムが簡単なことにより、このようなアドレス空間を有する構成が多く用いられている。
【０００４】
しかしながら、バス幅の異なるデータバスを有するメイン基板とオプション基板とを接続した場合、基板のエンディアンに適合させて他の基板からデータを格納およびデータにアクセスできないという問題がある。例えば、オプション基板の１バイトのバス幅を有するＩ／Ｏインターフェイスから、メイン基板のＣＰＵ（Central Processing Unit）を介さずメイン基板の２バイト幅を有するメモリにデータを格納もしくはメモリ内のデータにアクセスするとき、ＤＭＡ（Direct Memory Access）コントローラ等はメイン基板のエンディアンを識別することができず、メイン基板のメモリの上位バイトまたは下位バイトの何れにデータを格納、もしくはメモリの上位バイトまたは下位バイトの何れのデータにアクセスすべきか判断することができない。
【０００５】
このことを考慮して、従来、メイン基板とオプション基板とを接続しデータ転送を行う際には、エンディアンの識別とこれに基づくデータの転送とをソフトウェアを用いて行うデータ処理装置がある。また、特許文献１には、バス幅の異なるデータバスを有するＣＰＵ同士を接続するために、大きいバス幅のデータバスを有するＣＰＵから出力されるアドレスに基づいて制御信号を出力する制御回路を備え、小さいバス幅のデータバスを有するＣＰＵのデータバスに接続される各１バイトのバス幅のデータバスと、大きいバス幅のデータバスを有するＣＰＵのデータバスとの接続状態を制御信号に基づいて制御するデータバスサイズ変換回路が開示されている。また、特許文献２には、ＣＰＵと該ＣＰＵのデータバスのバス幅より小さいバス幅のデータバスを有するデバイスとを接続するために、ＣＰＵから出力されるアドレス信号に基づいて、ＣＰＵの複数のポートに接続されたデータバスを切替えてデバイスのデータバスに接続させるバス切替器が開示されている。
【特許文献１】特開平１０−２１２０７号公報
【特許文献２】特開平６−４４６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記エンディアンの識別とこれに基づくデータの転送とをソフトウェアを用いて行うデータ処理装置においては、データ転送前にアドレスをソフトウェア上にて変更するなどの前処理を行なう時間を必要とするため、合計としてデータ転送に時間がかかるという問題があった。
【０００７】
また、特許文献１に開示されているデータバスサイズ変換回路においては、データバスの接続状態を制御するためにアドレスバスや制御回路による制御を必要とするので、メイン基板とオプション基板との間でデータ転送が行われるデータ処理装置の構成や制御が複雑になるという問題があった。
【０００８】
また、特許文献２に開示されているバス切替器においては、データバスを切替えるためにアドレスバスやＣＰＵによる制御を必要とするので、メイン基板とオプション基板との間でデータ転送が行われるデータ処理装置の構成や制御が複雑になるという問題があった。
【０００９】
本発明は、かかる問題を解決すべくなされたものであり、メイン基板のエンディアンに関わらず、メイン基板とオプション基板との間にて、簡易な構成と制御により短い処理時間でデータ転送が行われるデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
当該目的を達成するために、請求項１に記載のデータ処理装置は、Ｎを０以上の整数とし、２Ｎ＋１バイトのバス幅を有するメインデータバスを備えたメイン基板と２Ｎバイトのバス幅を有するオプションデータバスを備えたオプション基板とが接続された場合に、前記メイン基板は、前記オプション基板にエンディアン識別信号を出力し、前記オプション基板は、前記エンディアン識別信号に基づいて、前記メインデータバスの上位２Ｎバイト側と下位２Ｎバイト側との何れと前記オプションデータバスとの間にてデータ転送が行われるかを選択することを特徴としている。
【００１１】
請求項２に記載のデータ処理装置は、請求項１に記載のデータ処理装置において、前記メイン基板にはピンが、前記オプション基板にはピン嵌合部が設けられており、前記メイン基板は、前記ピンが前記ピン嵌合部に嵌合されることにより前記オプション基板と接続された場合に、前記ピンから前記ピン嵌合部に前記エンディアン識別信号を出力することを特徴としている。
【００１２】
請求項３に記載のデータ処理装置は、請求項１または２に記載のデータ処理装置において、前記メイン基板は、前記エンディアン識別信号として、前記メイン基板がビッグエンディアンの場合には「１」を、前記メイン基板がリトルエンディアンの場合には「０」を出力し、前記オプション基板は、前記メインデータバスの上位２Ｎバイト側と前記オプションデータバスとの間にてデータ転送を行う上位バスに設けられた第１スリーステートバッファと、前記メインデータバスの下位２Ｎバイト側と前記オプションデータバスとの間にてデータ転送を行う下位バスに設けられた第２スリーステートバッファと、前記エンディアン識別信号を反転させた信号を出力する反転回路と、を備え、前記第１スリーステートバッファに前記エンディアン識別信号が入力され、前記第２スリーステートバッファに前記反転信号が入力されることを特徴としている。
【００１３】
請求項４に記載のデータ処理装置は、請求項１から３の何れか１項に記載のデータ処理装置において、前記メイン基板は、前記メインデータバスを介して転送されるデータを格納するメモリを備え、前記メイン基板がビッグエンディアンの場合に前記メインデータバスの上位２Ｎバイト側を介して転送されるデータと、前記メイン基板がリトルエンディアンの場合に前記メインデータバスの下位２Ｎバイト側を介して転送されるデータと、が前記メモリの同じアドレス空間に格納されることを特徴としている。
【発明の効果】
【００１４】
請求項１に記載のデータ処理装置によれば、オプション基板は、エンディアン識別信号に基づいて、メインデータバスの上位２Ｎバイト側と下位２Ｎバイト側との何れとオプションデータバスとの間にてデータ転送が行われるかを選択するので、メイン基板のエンディアンの識別に基づくソフトウェア上の前処理がデータ転送に必要ないため、上記エンディアンの識別とこれに基づくデータ転送の前処理をソフトウェアを用いて行う従来のデータ処理装置に比べて、データ処理時間を短縮することができる。また、メイン基板は、オプション基板が接続された場合に、オプション基板にエンディアン識別信号を出力するので、確実にメイン基板のエンディアンに基づいてメインデータバスの上位２Ｎバイト側と下位２Ｎバイト側との何れとオプションデータバスとの間にてデータ転送が行われるかを選択することができる。また、データ転送にアドレスデータ等を用いないため、データ処理装置はアドレスバスやＣＰＵなどによる制御等を必要とせず、簡易な構成と制御によりデータ転送を行うことができる。
【００１５】
請求項２に記載のデータ処理装置によれば、メイン基板は、ピンがピン嵌合部に嵌合されることによりオプション基板と接続された場合に、エンディアン識別信号を出力するので、エンディアン識別信号を簡単に出力させることができる。
【００１６】
請求項３に記載のデータ処理装置によれば、オプション基板は、エンディアン識別信号に基づいて、メインデータバスの上位２Ｎバイト側と下位２Ｎバイト側との何れとオプションデータバスとの間にてデータ転送が行われるかを選択する機能を簡易な構成によって実現することができる。
【００１７】
請求項４に記載のデータ処理装置によれば、メイン基板のエンディアンに関わらず、メモリの同じアドレス空間にオプションデータバスから転送されるデータが格納される。これにより、メモリに格納された前記データにアクセスするためのソフトウェアを、メイン基板のエンディアンに関わらず共通化することが可能となる。
【発明を実施するための最良の形態】
【００１８】
本発明に係るデータ処理装置は、Ｎを０以上の整数とし、２Ｎ＋１バイトのバス幅を有するメインデータバスを備えたメイン基板と２Ｎバイトのバス幅を有するオプションデータバスを備えたオプション基板とが接続され、メインデータバスの上位２Ｎバイト側と下位２Ｎバイト側との何れか一方とオプションデータバスとの間にてデータ転送が行われるものである。以下、Ｎが０である場合における、本発明の実施の形態に係るデータ処理装置について図面に基づき説明する。このデータ処理装置１は、図１に示すように、メイン基板１０とオプション基板２０とが接続され、その間にてデータ転送が行われるものである。メイン基板１０は、ＣＰＵ（Central Processing Unit）１１、１（＝２０）バイトのバス幅を有するＩ／Ｏ（Input / Output）デバイス（不図示）用のＩ／Ｏインターフェイス１２、２（＝２１）バイトのバス幅を有するメモリ１３と、少なくともこれらがデータ転送可能に接続される２（＝２１）バイトのバス幅を有するメインデータバス１４と、ピン１５と、を備えている。オプション基板２０は、１（＝２０）バイトのバス幅を有するＩ／Ｏインターフェイス２１と、少なくともこれがデータ転送可能に接続される１（＝２０）バイトのバス幅を有するオプションデータバス２２と、２（＝２１）バイトのバス幅を有するオプションバス２３と、オプションバス２３の上位１（＝２０）バイト側のデータ転送を行うための上位バス２４と、オプションバス２３の下位１（＝２０）バイト側のデータ転送を行うための下位バス２５と、上位バス２４と下位バス２５との何れをオプションデータバス２２に接続するかを選択するセレクタ２６と、ピン１５に対応したピン嵌合部２７と、ピン嵌合部２７とセレクタ２６とを接続する信号線２８と、を備えている。
【００１９】
さらに、メイン基板１０は、ピン１５がピン嵌合部２７に嵌合されることによりオプション基板２０と接続された場合に、ピン１５からピン嵌合部２７に、オプション基板２０がメイン基板１０のエンディアンを識別するためのエンディアン識別信号を出力する。エンディアンは、ビッグエンディアンとリトルエンディアンとの２方式があり、エンディアン識別信号は、メイン基板１０がビッグエンディアンの場合には「１」（Ｈ：高）が出力され、メイン基板１０がリトルエンディアンの場合には「０」（Ｌ：低）が出力される。
【００２０】
メイン基板１０は、データ処理装置１が各種機能を果たすために使用する基本的な回路を備える基板である。ＣＰＵ１１は、メインデータバス１４を介してデータ処理装置１全体の各構成部の動作制御を行う。メイン基板１０のエンディアンは、ＣＰＵのエンディアンにより定まる。Ｉ／Ｏインターフェイス１２は、各種入出力デバイス（不図示）とメモリ１３との間にてデータを転送するためのものである。メモリ１３は、データ処理装置１の動作の実行に伴って取得される各種データを記憶する書き込みおよび読み出しが可能なメモリであり、メインデータバス１４を介して転送されるデータを格納する。メインデータバス１４は、２バイトのバス幅を有し、メイン基板１０内のＣＰＵ１１や各構成部およびオプション基板２０の各構成部との間でデータを送受信するためのデータバスであり、メイン基板１０内のシステムバスとしての役割も果たす。ピン１５は、導電性を有する単独のピンや多ピンからなるコネクタのプラグ内のピン等である。
【００２１】
オプション基板２０は、データ処理装置１の機能を拡張するために使用する回路を備える基板である。Ｉ／Ｏインターフェイス２１は、オプションとしての入出力デバイス３０とメモリ１３との間にてＩ／Ｏインターフェイス３１を介してデータを転送するためのものである。オプションデータバス２２は、１バイトのバス幅を有し、Ｉ／Ｏインターフェイス２１やオプション基板２０内の１バイトのバス幅を有する各構成部（不図示）との間でデータを送受信するためのデータバスである。オプションバス２３は、２バイト幅のバス幅を有し、オプション基板２０内のＩ／Ｏインターフェイス２１や各構成部とメイン基板１０内のメインデータバス１４に接続された各構成部との間でデータを送受信するためのデータバスである。上位バス２４は、１バイトのバス幅を有し、図２（ａ）および図２（ｂ）を参照して、オプションバス２３の２バイト（＝１６ビット）の上位１バイト側のＤ１５〜Ｄ８（以下、上位バイトと記す。）を転送するデータバスである。下位バス２５は、１バイト幅のバス幅を有し、オプションバス２３の２バイトの下位１バイト側のＤ７〜Ｄ０（以下、下位バイトと記す。）を転送するデータバスである。ピン嵌合部２７は、ピン１５が嵌合するようにピン１５に対応してオプション基板２０に設けられており、導電性を有する単独の嵌合孔やコネクタのレセプタ内の孔等である。信号線２８は、ピン嵌合部２７とセレクタ２６とを接続し、エンディアン識別信号を伝達する。メイン基板内１０の信号出力部（不図示）から出力されたエンディアン識別信号が、ピン１５をピン嵌合部２７に嵌合することにより、これらの接触部分を通じてオプション基板１０のセレクタ２６に信号線２８を介して入力される。ピン１５がピン嵌合部２７に嵌合されている間、常時メイン基板１０のエンディアンに応じた固有の値がエンディアン識別信号としてピン嵌合部２７に出力される。セレクタ２６は、信号線２８から入力されたエンディアン識別信号に基づいて、上位バス２４と下位バス２５との何れをオプションデータバス２２に接続するかを選択する。セレクタ２６は、入力されたエンディアン識別信号が、メイン基板１０がビッグエンディアンである旨を示す「１」である場合には上位バス２４を、メイン基板１０がリトルエンディアンである旨を示す「０」である場合には下位バス２５を、オプションデータバス２２に接続する。
【００２２】
セレクタ２６は、図３に示すように、上位バス２４に設けられた双方向に入出力が可能な第１スリーステートバッファ４１と、下位バス２５に設けられた双方向に入出力が可能な第２スリーステートバッファ４２と、エンディアン識別信号を反転させた反転信号を出力する反転回路４３と、を備えている。第１スリーステートバッファ４１にエンディアン識別信号を入力し、下位バス２５に設けた第２スリーステートバッファ４２に反転信号を入力する。
【００２３】
次に、このように構成されたデータ処理装置１において、メイン基板１０のメモリ１３とオプション基板２０のＩ／Ｏインターフェイス２１との間でのデータ転送を行なう場合の動作について説明する。メイン基板１０がビッグエンディアンである場合、その旨を示すエンディアン識別信号「１」がピン１５からピン嵌合部２７に常時出力される。このエンディアン識別信号「１」が信号線２８を介してセレクタ２６の第１スリーステートバッファ４１に入力され、上位バス２４は接続された状態となる。他方、第２スリーステートバッファ４２に反転信号「０」が入力され、第２スリーステートバッファ４２からの出力はハイインピーダンス状態になるので、下位バス２５の接続は切り離された状態となる。これにより、オプションバス２３の上位バイトをデータ転送する上位バス２４がオプションデータバス２２に接続された状態となる。オプション基板２０のＩ／Ｏインターフェイス２１から転送されるデータは、オプションデータバス２２、上位バス２４及びメインデータバス１４の上位バイト側を介して、図２（ａ）に示すように、メイン基板１０のメモリ１３の上位バイトにｎ番地をアドレスとして格納される。
【００２４】
一方、メイン基板１０がリトルエンディアンである場合、その旨を示すエンディアン識別信号「０」がピン１５からピン嵌合部２７に常時出力される。このエンディアン識別信号「０」が信号線２８を介してセレクタ２６の第１スリーステートバッファ４１に入力され、第１スリーステートバッファ４１からの出力はハイインピーダンス状態になるので、上位バス２４の接続は切り離された状態となる。他方、第２スリーステートバッファ４２に反転信号「１」が入力され、下位バス２５は接続された状態となる。これにより、オプションバス２３の下位バイトをデータ転送する下位バス２５がオプションデータバス２２に接続された状態となる。オプション基板２０のＩ／Ｏインターフェイス２１から転送されるデータは、オプションデータバス２２、下位バス２５及びメインデータバス１４の下位バイト側を介して、図２（ｂ）に示すように、メイン基板１０のメモリ１３の下位バイトにｎ番地をアドレスとして格納される。
【００２５】
メイン基板１０がビッグエンディアンであるかリトルエンディアンであるかに関わらず、オプション基板２０のＩ／Ｏインターフェイス２１から転送されメモリ１３に格納されたデータに、ＣＰＵ１１は同じｎ番地をアドレスとしてアクセスすることができる。これにより、ＣＰＵ１１が前記データにアクセスする際の動作制御を行なうためのソフトウェアを共通化することができる。しかしながら、前記データはｎ＋１番地をアドレスとしてメモリ１３に格納されないので、メモリ１３は前記データのデータ量の２倍に相当するアドレス空間を必要とする。
【００２６】
なお、本実施の形態で示したデータ処理装置１においては、ピン１５をメイン基板１０に設け、ピン嵌合部２７をオプション基板２０に設けているが、これに代えて、ピンをオプション基板に設け、ピン嵌合部をメイン基板に設けてもよい。この場合には、メイン基板は、ピンがピン嵌合部に嵌合されることによりオプション基板と接続された場合に、ピン嵌合部からピンにエンディアン識別信号を出力する。さらに、メイン基板１０のエンディアンにより導電性のピン１５の有無を使い分けることにより、エンディアン識別信号を「１」（入力有）と「０」（入力無）との２値からなるものとしてもよい。例えば、導電性のピン１５が有る場合にのみ、前記信号出力部から出力されるエンディアン識別信号が嵌合部２７に出力され、非導電性のピンが有る場合やピンが無い場合等には、エンディアン識別信号がピン嵌合部２７に出力されないものであってもよい。また、ピン１５がピン嵌合部２７に嵌合することによって、オプション基板２０内のエンディアン識別信号を伝達する回路（不図示）のスイッチ（不図示）がＯＮされることにより、エンディアン識別信号がセレクタに出力されるものであってもよい。
【００２７】
また、本実施の形態で示したデータ処理装置１においては、２１バイトのバス幅を有するメインデータバス１４を備えたメイン基板１０と２０バイトのバス幅を有するオプションデータバス２２とが接続され、メインデータバス１４の上位２０バイト側と下位２０バイト側との何れか一方とオプションデータバス２２との間にてデータ転送が行われるが、これに限定されるものではない。Ｎを１以上の整数とし、２Ｎ＋１バイトのバス幅を有するメインデータバスを備えたメイン基板と２Ｎバイトのバス幅を有するオプションデータバスが接続され、メインデータバスの上位２Ｎバイト側と下位２Ｎバイト側との何れか一方とオプションデータバスとの間にてデータ転送が行われるものであってもよい。ただし、この場合には、上位バスおよび下位バスのバス幅は２Ｎバイトであるので、さらにこれら各バスを転送されるデータをエンディアン識別信号に基づいてバイト毎に昇順または降順に並び換える。
【産業上の利用可能性】
【００２８】
本発明に係るデータ処理装置は、メイン基板とオプション基板とが接続され、メイン基板のエンディアンに関わらずメイン基板とオプション基板との間でデータ転送を行うことが必要な機器等にて利用することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態に係るデータ処理装置１の構成図である。
【図２】図１に示したメモリ１３内のアドレス空間を示す図であり、（ａ）はメイン基板１０がビッグエンディアンである場合を、（ｂ）はメイン基板１０がリトルエンディアンである場合を示す。
【図３】図１に示したオプション基板２０の回路図である。
【符号の説明】
【００３０】
１  データ処理装置
１０  メイン基板
１１  ＣＰＵ
１２  Ｉ／Ｏインターフェイス
１３  メモリ
１４  メインデータバス
１５  ピン
２０  オプション基板
２１  Ｉ／Ｏインターフェイス
２２  オプションデータバス
２４  上位バス
２５  下位バス
２６  セレクタ
２７  ピン嵌合部
４１  第１スリーステートバッファ
４２  第２スリーステートバッファ
４３  反転回路
【図１】
2005258611.tif 000003
【図２】
2005258611.tif 000004
【図３】
2005258611.tif 000005